HWND wnd1 = FindWindowA("MSPaintApp",NULL);
SendMessage (wnd1, WM_LBUTTONDBLCLK, 0, MAKELPARAM(123, 456));
//SendMessage (wnd1, WM_LBUTTONDBLCLK, 0, MAKELPARAM(560, 425));
Public Function LoWord(wParam As Long) As Integer
If wParam And &H8000& Then
LoWord = &H8000& Or (wParam And &H7FFF&)
Else
LoWord = wParam And &HFFFF&
End If
End Function
Public Function MAKELPARAM(ByVal wLow As Long, ByVal wHigh As Long) As Long
MAKELPARAM = LoWord(wLow) Or (&H10000 * LoWord(wHigh))
End Function
Public Function MakeLParam(LoWord As Integer, HiWord As Integer) As Integer
Return ((HiWord << 16) Or (LoWord And &HFFFF))
End Function
Vova_2581 писал(а):Тут есть кто живой??? Ау!!
Option Explicit
Private Type TwoW
W1 As Integer
W2 As Integer
End Type
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Const WM_LBUTTONDOWN = &H201
Private Const MK_LBUTTON = &H1
Private Sub Command1_Click()
SendMessage hwnd, WM_LBUTTONDOWN, MK_LBUTTON, MKDW(40, 50)
End Sub
Private Function MKDW(ByVal W1 As Integer, ByVal W2 As Integer) As Long
Dim TwoW As TwoW, d As Long
TwoW.W1 = W1
TwoW.W2 = W2
CopyMemory d, TwoW, 4
MKDW = d
End Function
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
Caption = Str(X) & Str(Y)
End If
End Sub
Vova_2581 писал(а):P.S. Знаете, недавно случайно прочел статью уже давнюю, где Майкрософт заявила о прекращении поддержки Visual basic в качестве языка и полностью переходит на C#.
Хакер писал(а):А сам Visual Basic в его классическом виде они давно забросили.
Хакер писал(а):А сам Visual Basic в его классическом виде они давно забросили.
Vova_2581 писал(а):типа msvbvm60.dll
Vova_2581 писал(а):Может быть где-то уже с версии Windows, скажем, 12 или 15 уже исчезнут все нужные библиотеки, типа msvbvm60.dll или подобные и тогда все программы на VB просто перестанут работать. Нет слов! Обидно до слез.
Программист C++ решит поставленную задачу за 5 часов, программист Delphi решит эту же задачу за 2 часа, а программист на Basic решит эту задачу за десят минут.
The trick писал(а):Vova_2581 писал(а):Может быть где-то уже с версии Windows, скажем, 12 или 15 уже исчезнут все нужные библиотеки, типа msvbvm60.dll или подобные и тогда все программы на VB просто перестанут работать. Нет слов! Обидно до слез.
Для чего им это делать? Они наоборот стараются по максимуму сохранить обратную совместимость. В новых ЯП есть куча улучшений и удобств и уже это высказывание:Программист C++ решит поставленную задачу за 5 часов, программист Delphi решит эту же задачу за 2 часа, а программист на Basic решит эту задачу за десят минут.
уже неактуально, а даже наоборот. Поэтому ЯП нужно выбирать исходя из задачи. Для более низкоуровневых задач выбирать что-то из С подобных, а лучше Rust. Для высокоуровневых уже смотреть в сторону дотнета, java, Python и т.п. Если для себя пишешь то можно и на вб6 писать, тем более уже вышел TwinBasic - позиционирующий себя как 100% совместимый с VB6 (даже его баги типа Not Not там сохранены).
Vova_2581 писал(а):Virus Total всегда будет срабатывать. Неважно какой файл. Тут нужно смотреть как бы в процентном отношении. Если 90% всех антивирусов в VT говорят, что все ок, то с большей вероятностью можно судить, что действительно все ок и нет причин для паники.
Teranas писал(а):Разработчику пофиг, он знает, что его проект чистый, а вот пользователи истерику закатывают.
Vova_2581 писал(а):Что верно, то верно! У меня мой локальный антивирус постоянно ругается на мои программы собственной разработки и хотя я то знаю, что вирусов не писал, но у него истерика, как только проект компилирую в исполнительный файл. ))
Vova_2581 писал(а):Попробую проверить, как все будет работать на учебной программе, надеюсь получиться.
Сейчас этот форум просматривают: AhrefsBot и гости: 53