2013-03-29 53 views
1

我想構建一個應用程序,以編程方式將按鍵發送到Windows桌面,而不是指定的窗口。 例如,如果我們打箭頭鍵,然後桌面上的圖標被選中... 這可能嗎?發送密鑰到Windows桌面

+1

Windows桌面是一個可指定的窗口.... –

回答

2

SendInput的Windows API會做你想做的。實際上,將輸入發送到目標窗口是一項更困難的任務。 SendInput會將輸入發送到與調用此API的進程的Windows會話相對應的虛擬輸入隊列。輸入或鍵,如果你願意的話,將登陸在任何活動的桌面上,並且在任何處於前景的窗口內。

如果顯示桌面圖標的Listview控件是前景窗口,那麼您要發送的箭頭鍵將移動選擇內容,否則它可能會在記事本上移動光標(如果記事本是前景窗口)。 注意:頂部的窗口不一定是前臺窗口。查看SetForegroundWindow API以瞭解更多關於前景窗口的含義。