.NET 3.x Отправить нажатие Ctrl+F9 программе работающего в фоном режиме - Visual Basic .NET
Формулировка задачи:
Доброго, гуглил вопрос и нашел массу не работающих решений - не получается отправить нажатие Ctrl+F9 программе работающего в фоном режиме через SendMessage на 64 битной системе
сам код
заранее спс!
Решение задачи: «.NET 3.x Отправить нажатие Ctrl+F9 программе работающего в фоном режиме»
textual
Листинг программы
Module Module1
Public Declare Function SetForegroundWindow Lib "user32.DLL" Alias "SetForegroundWindow" (ByVal hwnd As Integer) As Integer
Public Declare Sub Send_Key_Down Lib "user32.DLL" Alias "keybd_event" (ByVal Клавиша As Byte, Optional ByVal bScan As Byte = 0, Optional ByVal Действие As Integer = 0, Optional ByVal dwExtraInfo As Integer = 0)
Public Declare Sub Send_Key_Up Lib "user32.DLL" Alias "keybd_event" (ByVal Клавиша As Byte, Optional ByVal bScan As Byte = 0, Optional ByVal Действие As Integer = &H2, Optional ByVal dwExtraInfo As Integer = 0)
Public Sub Send_Key_Press(ByVal Клавиша As Byte)
Send_Key_Down(Клавиша) : Send_Key_Up(Клавиша)
End Sub
Public Const VK_F1 = &H70
Sub Main()
Dim handle As IntPtr = Process.GetProcessesByName("notepad")(0).MainWindowHandle.ToInt32
SetForegroundWindow(handle)
Threading.Thread.Sleep(500)
Send_Key_Press(VK_F1)
Console.ReadKey()
End Sub
End Module