2013-12-11 119 views
0

標題幾乎可以解釋問題。我想通過Senkeys.send方法來感知alt + space + n組合,這可以怎麼做?到目前爲止,我試過SendKeys.Send("% N");,但它不起作用。Sendkeys.send發送alt +空格+ n組合

+0

一個ShowWindowCommand值你想添加一個關鍵觸發?例如:我按下按鈕,會發生什麼事?或者你想要發送一個關鍵組合到操作系統? – Saren

回答

0

空格鍵不是傳統的修飾鍵,所以我相信你需要分別發送keyUp和keyDown事件。

我不完全熟悉C#的SendKeys,因爲我用的是AutoIt的庫這樣的事情,與AutoIt的命令會是這樣的:

private void pressAltSpaceN() 
{ 
    AutoItX3Declarations.AU3_Send("{alt down}", 0); 
    AutoItX3Declarations.AU3_Send("{space down}", 0); 
    AutoItX3Declarations.AU3_Send("{n down}", 0); 
    AutoItX3Declarations.AU3_Send("{n up}", 0); 
    AutoItX3Declarations.AU3_Send("{space up}", 0); 
    AutoItX3Declarations.AU3_Send("{alt up}", 0); 
} 

希望別人可以告訴你怎麼送使用SendKeys的keyUp和keyDown事件,否則你可以學習如何將AutoIt整合到C#中,使用這個問題的答案:link

0

你正在使用的字符串應該工作。也許默認的日誌掛鉤不適用於你試圖最小化的應用程序。您可以嘗試使用app.config和SendInput的替代方法(請參閱here)。

一個更好的辦法來解決這個問題將是獲取句柄使用GetActiveWindow聚焦窗口,然後調用ShowWindowAsync,並通過在2

+0

我的字符串只能工作,沒有N SendKeys.Send(「%」);我得到一個菜單與最小化,恢復下來...選項。所以這不是應用程序故障。 – user2412672

+0

@ user2412672「%n」(或N)適合我。當你物理鍵入Alt + Space時,專注的應用程序是否包含用'n'加下劃線的最小化選項? – hyru

+0

是它包含 – user2412672