[問題] 對目標視窗模擬發送鍵盤訊息
我寫了一個小程式,模擬發送一個鍵盤訊息,再測試的時候是用遊戲程式當作目標視窗,
試過了幾個遊戲,卻發現,如果游標是在對話輸入欄,則可以正常的接收,
但是卻無法啟動技能快捷鍵。
例如:用以下的程式碼為例子,
hWnd=::FindWindow(NULL,_T("萬王之王3:黛妮雅"));
PostMessageA(hWnd,WM_KEYDOWN,0x31,0);
我發送了按下按鍵 "1" 的訊息給 "萬王之王3:黛妮雅" 這個遊戲程式,
如果當時我是正好在輸入對話訊息,則可以成功的模擬輸入,
但如果是在一般的狀態,卻沒辦法觸發快捷鍵1的效果。
原本以為是該遊戲有防止這種情況發生的功能,但是我用按鍵精靈測試,
卻可以成功的模擬輸入。
不知道有人是否能告知一下問題出在哪邊,還是說不應該用Post而要用Send?
另外,我在MSDN網站上有找到有一個SendKeys函式,
該網頁也有註明適用於Microsoft Visual Studio 2005,
但我搜尋過VS2005裡面的Include檔,並沒有找到這個函式,這是為什麼呢?
PS:不知道這個有沒有違反版規,因為可以算是外掛的雛型,
如果有,請告知一下,我會自動刪文,感謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.129.39.100
※ 編輯: sosokill 來自: 140.129.39.100 (04/11 05:36)
推
04/11 06:13, , 1F
04/11 06:13, 1F
→
04/11 06:14, , 2F
04/11 06:14, 2F
推
04/11 06:16, , 3F
04/11 06:16, 3F
→
04/11 06:19, , 4F
04/11 06:19, 4F
→
04/11 07:20, , 5F
04/11 07:20, 5F
→
04/11 07:21, , 6F
04/11 07:21, 6F
→
04/11 07:24, , 7F
04/11 07:24, 7F
推
04/11 07:44, , 8F
04/11 07:44, 8F
→
04/11 09:27, , 9F
04/11 09:27, 9F
→
04/11 09:27, , 10F
04/11 09:27, 10F
→
04/11 14:59, , 11F
04/11 14:59, 11F
→
04/11 14:59, , 12F
04/11 14:59, 12F
→
04/11 15:00, , 13F
04/11 15:00, 13F
→
04/11 15:00, , 14F
04/11 15:00, 14F
推
04/11 22:49, , 15F
04/11 22:49, 15F
→
04/11 23:54, , 16F
04/11 23:54, 16F
→
04/11 23:54, , 17F
04/11 23:54, 17F
→
04/12 00:30, , 18F
04/12 00:30, 18F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章