2009-09-17 48 views
7

基本上我想在代碼中模擬用戶單擊windows按鈕。我知道有SendKeys,它允許我發送按鍵到Windows,如果我得到一個句柄,但我不明白是什麼,我需要得到一個句柄,以發送Windows按鈕命令。例如。 Windows按鈕+ L.閱讀了這一點後,看起來CTRL-ESC也應該彈出開始菜單,但不知道如何告訴它將密鑰發送到Windows(如果這甚至是可能的話)。任何幫助將非常感激。如何使用C#SendKeys以編程方式按Windows按鈕

乾杯!

回答

-2

您需要使用全局鍵盤掛鉤掛接到應用程序外部的鍵盤。有一篇關於如何去做的文章here

+2

不正確。只有當您想要聽按鍵時,纔會發送按鍵。 – 2009-09-27 18:19:51

9

我不認爲你可以使用SendKeys做到這一點,你需要p /調用API函數,而不是keybd_event來發送CTRL + ESC或Windows鍵。

Here是以VB方式打開開始菜單的示例,here是pinvoke.net上帶有C#簽名的keybd_event。

5

用戶通過WinKey快捷方式執行的一些操作可以通過其他方式以編程方式完成。把你的WINKEY + L例如,你可以,而不是僅僅使用下面的語句:

Process.Start("rundll32.exe", "user32.dll,LockWorkStation"); 

如果你能在你試圖完成什麼細說了,也許還有比keybd_event更好的辦法(如戴爾曾建議)。

+0

在上面的陳述中,如果您在三個網絡的網絡中,是否可以鎖定特定的用戶? – 2014-06-13 09:17:22