2011-06-10 32 views
2

我的筆記本電腦的向下箭頭鍵非常鬆散,似乎不會持續很長時間。我的筆記本電腦的向下箭頭鍵?

是否有可能編寫任何程序(使用任何語言,但特別是C++)hat模擬向下鍵key.say我製作了一個程序,當我按下鍵盤上的A,B,C時,它會模擬向下箭頭鍵。

如果不是那麼, 有沒有可用的軟件來做到這一點?

+2

這個問題範圍很廣,不太可能幫助其他許多程序員。 – 2011-06-10 03:11:20

+1

它可能在任何系統上。我怎麼不知道。嘗試查看autoclickers和鍵盤記錄器的來源並將其連接起來。 – Dani 2011-06-10 03:23:43

+0

+ 1這種東西可能是有用的,如果它的作品。感謝 – munish 2011-06-10 03:27:49

回答

3

如果要模擬輸入,請使用SendInput API。這會在相當低的級別上注入輸入,Windows會根據誰擁有焦點自動將其路由到適當的線程。調用它兩次,一次發送密鑰,再次發送密鑰。

也許最簡單的事情就是編寫一個簡單的應用程序,爲ctrl-alt-Z之類的組合調用RegisterHotkey,然後調用SendInput作爲按鍵,然後調用向下箭頭鍵的keyrelease。

接收WM_HOTKEY以後,您可能需要等待一段時間才能釋放一組熱鍵,以便在沒有熱鍵干擾的情況下單獨處理向下箭頭。 (...否則聚焦應用程序可能會認爲你在SHIFT + ALT + DownArrow中文,而不是普通的輸入DownArrow中文!)

+0

嗯,我不知道哪個答案選擇,但這似乎更有希望至今。謝謝 – munish 2011-06-10 11:21:56

1

如果你正在使用Linux,xmodmap的:http://www.xfree86.org/4.2.0/xmodmap.1.html

+0

也許,這是令人無法理解的東西+ 1 – munish 2011-06-10 03:14:39

+0

標籤特別說** Windows **。儘管如此,留下完整答案也是可以的。 – 2011-06-10 03:47:28

0

您可以輕鬆編寫發送WM_KEYDOWNWM_KEYUP消息到具有當前焦點的窗口的程序。一旦你有這個程序,將它綁定到.exe文件的屬性中的一個功能鍵。

+0

它是在C + +結合Windows Shell腳本來做到這一點。我從來沒有這樣做過,所以我會去嘗試它,所以只需要一些指導。在哪裏開始 – munish 2011-06-10 03:50:02

+0

一般來說,你不想發送這些到應用程序;它會繞過很多窗口所做的輸入處理,所以在某些情況下可能有效,但在其他情況下會失敗。 SendInput是去這裏的方法;它以低級別注入輸入,而Windows對待它與物理按鍵幾乎完全相同。 (例如,這些事件被髮布到一個線程輸入隊列中,所以一個應用程序可能會在它的消息循環中處理它們:如果您直接將這些事件發送到窗口,則繞過該窗口。) – BrendanMcK 2011-06-10 09:31:31

1

我想你實際上是在尋找Sharpkeys www.randyrants.com/sharpkeys/

這適用於Windows的註冊表中,被用來改變鍵的映射。

+0

嗯..我需要看看它。謝謝 – munish 2011-06-10 11:23:49

相關問題