.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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.1 из 5
Похожие ответы