Каков принцип этого действия?
Находим открытый блокнот, и посылаем в него текст?
Подскажите какие операторы используются, если можно код.
Private Declare Function GetForegroundWindow Lib "user32" () As Long
Private Declare Function PostMessage Lib "user32" _
Alias "PostMessageA" (ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long
Private Const WM_CLOSE = &H10
Private Sub Command1_Click()
Dim hWndActive As Long
Dim EndTime As Date
MsgBox "2 sek viberete okno"
EndTime = DateAdd("s", 2, Now)
Do Until Now > EndTime
DoEvents
Loop
hWndActive = GetForegroundWindow()
Text1.Text = hWndActive
End Sub
Qwertiy писал(а):SendMessage же. Можно узнать, в чём вообще проблема?
Ghepard писал(а):а что с кодом не так? 2 секунды есть чтобы выделить нужное окно и после считывается его хэндл, может что-то и не так, но цифарки менялись на разных окнах.
Ghepard писал(а):"SendMessage" можно пример с использованием хендла?
допустим хендл 1234567, а послать проге неактивной надо букву "t"
Declare Function SendMessageW Lib "User32.dll" _
(ByVal hWnd As Long, ByVal dwMsg As Long, ByVal wParam As Long, _
ByVal lParam As Long) As Long
Const WM_SETTEXT = &HC
......
sTxt AS STRING = Привет Вася
SendMessageW хэндл_окна, WM_SETTEXT, 0, StrPtr(sTxt)
ИЛИ
bTxt() AS BYTE = Привет Вася
SendMessageW хэндл_окна, WM_SETTEXT, 0, VarPtr(bTxt(0))
......
Ghepard писал(а):Можно ли получить средствами VB6 скрин игрушки, которая свёрнута?
Ghepard писал(а):заменяется на пустоту а не на то что ввел.
Ghepard писал(а):про AutoitX3.dll почитал скачал, пока не знаю как пользоваться
Set oAutoIt = CreateObject
("AutoItX3.Control")
oAutoIt.ControlSend "Безымянный - Блокнот",
"", "Edit1", "Строка текста"
Сейчас этот форум просматривают: SemrushBot и гости: 41