2011-06-20 44 views
2

我有一個WPF全屏應用程序,並將Skype的「Focus Skype」熱鍵配置爲Ctrl + F6組合。來自WPF應用程序的Sendkeys

現在...我如何將此消息發送到窗口(Ctrl + F6)?我嘗試通過sendkeys但不工作,它說:「SendKeys無法在此應用程序內運行,因爲應用程序不處理Windows消息。請更改應用程序以處理消息,或使用SendKeys.SendWait方法。」

我嘗試了Sendkeys.sendwait方法,但它使我的全屏應用程序最小化,我需要它仍然是全屏。

任何幫助或線索?

在此先感謝

+0

應該有Windows API調用此。 – CodingBarfield

回答

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'](http://msdn.microsoft.com/en-us/library/windows/desktop/ms646310.aspx)而不是'keybd_event'。 –