keybd_event 的小問題 |
尚未結案
|
ccobj
一般會員 ![]() ![]() 發表:6 回覆:27 積分:21 註冊:2003-12-02 發送簡訊給我 |
各位前輩
我在討論區內找到一些keybd_event的文章
並依樣畫葫蘆的寫了下面這段程式
工作是將字串a模擬按鍵到切換的視窗
不過為何記事本接收到的按鍵會是 a11 呢
似乎會變成 A->a B->b a->1 b->2
要如何解決呢
先說聲謝謝... AnsiString a="Aa1"; HWND hWnd = FindWindow(NULL,"未命名 - 記事本"); if (hWnd)
{
ShowWindow(hWnd,SW_SHOWNORMAL);
SetForegroundWindow(hWnd);
SetActiveWindow(hWnd); for( int x = 1; x <= a.Length(); x )
{
keybd_event(a[x], MapVirtualKey(a[x],0), 0, 0);
keybd_event(a[x], MapVirtualKey(a[x],0), KEYEVENTF_KEYUP, 0);
Sleep(10);
}
keybd_event(VK_RETURN, 0, 0, 0);
keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0); }else{
ShowMessage("未開啟");
}
|
m8815010
版主 ![]() ![]() ![]() ![]() ![]() 發表:99 回覆:372 積分:289 註冊:2003-11-13 發送簡訊給我 |
引言: 各位前輩 我在討論區內找到一些keybd_event的文章 並依樣畫葫蘆的寫了下面這段程式 工作是將字串a模擬按鍵到切換的視窗 不過為何記事本接收到的按鍵會是 a11 呢 似乎會變成 A->a B->b a->1 b->2 要如何解決呢 先說聲謝謝... AnsiString a="Aa1"; HWND hWnd = FindWindow(NULL,"未命名 - 記事本"); if (hWnd) { ShowWindow(hWnd,SW_SHOWNORMAL); SetForegroundWindow(hWnd); SetActiveWindow(hWnd); for( int x = 1; x <= a.Length(); x ) { keybd_event(a[x], MapVirtualKey(a[x],0), 0, 0); keybd_event(a[x], MapVirtualKey(a[x],0), KEYEVENTF_KEYUP, 0); Sleep(10); } keybd_event(VK_RETURN, 0, 0, 0); keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0); }else{ ShowMessage("未開啟"); }ccobj你好 |
ccobj
一般會員 ![]() ![]() 發表:6 回覆:27 積分:21 註冊:2003-12-02 發送簡訊給我 |
|
m8815010
版主 ![]() ![]() ![]() ![]() ![]() 發表:99 回覆:372 積分:289 註冊:2003-11-13 發送簡訊給我 |
引言: 謝謝m8815010的建議 我已經將程式改好了 不過我最主要的功能是要能夠輸入一排網址 網址用到的字元 不外乎 : / @ ? = & - _ 這樣寫下來 幾乎有一半的程式碼都在判斷這些特殊符號 不知是否有更完美的解決方案ccobj你好 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |