Sendkeys из приложения WPF - PullRequest
2 голосов
/ 20 июня 2011

У меня полноэкранное приложение WPF, и я настроил комбинацию горячих клавиш Skype «Focus Skype» для комбинации Ctrl + F6.

Теперь ... Как я могу отправить это сообщение в windows (Ctrl + F6)? Я пробовал sendkeys, но он не работает, он говорит: «SendKeys не может работать внутри этого приложения, потому что приложение не обрабатывает сообщения Windows. Либо измените приложение для обработки сообщений, либо используйте метод SendKeys.SendWait».

Я попробовал метод Sendkeys.sendwait, но он свернул мое полноэкранное приложение, и мне нужно, чтобы он оставался полноэкранным.

любая помощь или подсказка?

Заранее спасибо

1 Ответ

2 голосов
/ 09 июля 2011

Попробуйте:

Private Declare Sub keybd_event Lib "user32.dll" (ByVal bVk As Byte, _
ByVal bScan As Byte, ByVal dwFlags As Integer, ByVal dwExtraInfo As Integer)

Private Const kbdDown = 0
Private Const kbdUp = 2



Private Sub SendKey(ByVal Key As Byte)
    Call keybd_event(Key, 0, kbdDown, 0)
    Call keybd_event(Key, 0, kbdUp, 0)

End Sub

Коды клавиш можно посмотреть здесь: http://www.codeproject.com/KB/system/keyboard.aspx

...