Sendkeys из приложения WPF

2

У меня есть полноэкранное приложение WPF, и я сконфигурировал горячую клавишу Skype "Фокус Skype" на комбинацию Ctrl + F6.

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

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

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

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

  • 0
    Для этого должен быть вызов Windows API.
Теги:
sendkeys

1 ответ

2
Лучший ответ

Попробуйте следующее:

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

  • 0
    это работает! Спасибо!
  • 0
    Я бы порекомендовал использовать SendInput вместо keybd_event .

Ещё вопросы

Сообщество Overcoder
Наверх
Меню