2012-03-18 50 views
0

我正在製作一個混合所有鍵盤字母/ ASCII值的程序。有點像脫離鍵盤字母並移動它們的軟件版本......有沒有辦法做到這一點?現在,我在裏面使用一個無限循環和一個GetAsyncKeyState()來獲取任何類型的字母,但我不知道如何獲取這些信息,並將其更改並重新放回到系統中...任何和所有幫助都非常感謝。更改輸入字符的ASCII

謝謝!

回答

0

這聽起來像有人試圖寫一些討厭的程序?

對於Windows:基本思想是捕獲窗口消息(WM_KEYDOWN和WM_KEYUP)並在傳遞它們之前更改鍵值/ ID。

根據您的版本,這將需要您的代碼以管理員權限運行。

對於其他系統,我對此沒有任何經驗,但基本想法很可能是相同的。

+0

好吧,我和我的朋友一直在玩弄小小的惡作劇,就像現在一週。我剛剛碰到門框上的一個水桶,我正在尋找方法讓他回來:P – Chris 2012-03-18 11:11:22

+0

另外,你有沒有我可以使用的任何代碼示例?我以前從未使用過C++。我是一個java人,但是看到java被限制爲更多的「本地」事物(......它僅限於在它的小窗口中,它不能出去並在系統上做其他事情),它並不真正我想要做的。 – Chris 2012-03-18 11:13:20

+0

認爲這個應該可以工作(它就像一個簡單的例子):http://developer-resource.blogspot.de/2008/07/setwindowshookex-example.html(沒有測試它)在'wireKeyboardProc'裏面你會必須檢查傳遞的vkCode並相應地改變它,而不是寫入某個文件。 – Mario 2012-03-18 11:24:35