請問這種軟體鍵盤是如何寫的呢? |
答題得分者是:taishyang
|
kankan999
一般會員 發表:4 回覆:0 積分:0 註冊:2009-03-28 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
RootKit
資深會員 發表:16 回覆:358 積分:419 註冊:2008-01-02 發送簡訊給我 |
|
kostin
一般會員 發表:18 回覆:43 積分:22 註冊:2010-03-11 發送簡訊給我 |
請問 RootKit 大大
若使用keybd_event 模擬按下鍵盤 如何按下 "<" ">" "?" "-" 我試了很久 , 我猜 VK_ 之類的碼 不支援 這些按鍵 VK_ 碼 只有A~Z ,a~z, F1~F12 , 數字鍵盤上的按鍵 , 方向鍵 , 特殊功能鍵(home, esc,alt......) 請問 若我想模擬按下鍵盤上的 特殊符號鍵 ( \ ] [ / \ , . ) 等等 該怎麼辦 PS: dllee大大的程式我已將看過 若是 以下的解法 請多說一點 , 因為小弟試不出來 > < , 謝謝 SendMessage PostMessage keybd_event SendInput ===================引 用 RootKit 文 章=================== 通常有兩種 1. 使用 SendMessage(...,WM_CHAR .... 首先需找到 目標視窗->子物件。對該物件發送 Windows 假訊息。 好處,不需要讓出焦點。既使視窗在隱藏狀態下也可以用。 缺點, 頗多軟體不支援。 2. 使用 keybd_event 要仔細處理焦點,並 Active 該視窗。 好處,大部分軟體皆有用,缺點,若焦點不小心轉移就玩了。 大概這樣
------
工程師的世界太深奧了 ~ 總是有不斷的驚奇發生 在解決問題的當下 , 才能確認我的存在 在得到幫助的當下 , 才能發現我不孤單 |
老大仔
尊榮會員 發表:78 回覆:837 積分:1088 註冊:2006-07-06 發送簡訊給我 |
雖然我不是 RootKit 大大
但給你一點方向~ 提示: " < " 的由來是: " Shift , " 所以會是 keydb_event(16,0,0,0); keydb_event(188,0,0,0); keydb_event(16,0,KEYEVENTF_KEYUP,0); keydb_event(188,0,KEYEVENTF_KEYUP,0); 其他的請自行測試囉~^^ 至於為什麼我會知道是" , "就是 188 這個也很簡單 只要拉個Edit 在它的keydown事件中把key值給ShowMessage出來就可以了~ ===================引 用 kostin 文 章=================== 請問 RootKit 大大 若使用keybd_event 模擬按下鍵盤 如何按下 "<" ">" "?" "-" 我試了很久 , 我猜 VK_ 之類的碼 不支援 這些按鍵 VK_ 碼 只有A~Z ,a~z, F1~F12 , 數字鍵盤上的按鍵 , 方向鍵 , 特殊功能鍵(home, esc,alt......) 請問 若我想模擬按下鍵盤上的 特殊符號鍵 ( \ ] [ / \ , . ) 等等 該怎麼辦 PS: dllee大大的程式我已將看過 若是 以下的解法 請多說一點 ,因為小弟試不出來 > < , 謝謝 SendMessage PostMessage keybd_event SendInput |
christie
資深會員 發表:30 回覆:299 積分:475 註冊:2005-03-25 發送簡訊給我 |
{************************************************************}
{2. With keybd_event API} procedure TForm1.Button1Click(Sender: TObject); begin {or you can also try this simple example to send any amount of keystrokes at the same time. } {Pressing the '<' key, and A Key and showing it in the Edit1.Text} Edit1.SetFocus; keybd_event(VK_SHIFT, 0, 0, 0); keybd_event(188, 0, 0, 0); keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0); keybd_event(VK_SHIFT, 0, 0, 0); keybd_event(Ord('A'), 0, 0, 0); keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0); {Presses the Left Window Key and starts the Run} keybd_event(VK_LWIN, 0, 0, 0); keybd_event(Ord('R'), 0, 0, 0); keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0); end;
------
What do we live for if not to make life less difficult for each other? |
kostin
一般會員 發表:18 回覆:43 積分:22 註冊:2010-03-11 發送簡訊給我 |
感謝您的回答
我也有試過 但是我當初用的是 void __fastcall TForm1::Edit2KeyPress(TObject *Sender,WORD &Key,TShiftState Shift) { Form1->Caption =int(Key); } } 而按' , ' 鍵得到的碼為 188 , 請問為什麼會得到不一樣的結果 謝謝 ===================引 用 老大仔 文 章=================== 雖然我不是 RootKit 大大 但給你一點方向~ 提示: " < " 的由來是: " Shift , " 所以會是 keydb_event(16,0,0,0); keydb_event(188,0,0,0); keydb_event(16,0,KEYEVENTF_KEYUP,0); keydb_event(188,0,KEYEVENTF_KEYUP,0); 其他的請自行測試囉~^^ 至於為什麼我會知道是" , "就是 188 這個也很簡單 只要拉個Edit 在它的keydown事件中把key值給ShowMessage出來就可以了~
------
工程師的世界太深奧了 ~ 總是有不斷的驚奇發生 在解決問題的當下 , 才能確認我的存在 在得到幫助的當下 , 才能發現我不孤單
編輯記錄
kostin 重新編輯於 2010-12-09 23:19:20, 註解 無‧
|
christie
資深會員 發表:30 回覆:299 積分:475 註冊:2005-03-25 發送簡訊給我 |
請看,
TWinControl.On KeyPress Occurs when key pressed. type TKeyPressEvent = procedure (Sender: TObject; var Key: Char) of object; property On KeyPress: TKeyPressEvent; D e script i o n Use the On KeyPress event handler to make something happen as a result of a single character key press. The Key parameter in the On KeyPress event handler is of type Char; therefore, the On KeyPress event registers the ASCII character of the key pressed. Keys that don't correspond to an ASCII Char value (Shift or F1, for example) don't generate an On KeyPress event. Key combinations (such as Shift A), generate only one On KeyPress event (for this example, Shift A results in a Key value of ?if Caps Lock is off). To respond to non-ASCII keys or key combinations, use the On KeyDown or On KeyUp event handlers.
------
What do we live for if not to make life less difficult for each other? |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |