delphi 如何实现禁用键盘 |
尚未結案
|
孤独vs繁星
一般會員 發表:1 回覆:0 積分:0 註冊:2009-08-02 發送簡訊給我 |
|
歸木淡
中階會員 發表:1 回覆:49 積分:75 註冊:2005-09-07 發送簡訊給我 |
加一個Low level的Keyboard的Hook
[code delphi] KBLLHook:=SetWindowsHookEx(WH_KEYBOARD_LL, @KeyboardLLHookProc, HInstance, 0) ; [/code] 其中KeyboardLLHookProc格式如下 [code delphi] function KeyboardLLHookProc(Code: Integer; wParam: Word; lParam: LongInt): LongInt; stdcall; [/code] 內容大致如下 [code delphi] if (CODE=HC_ACTION) then if Eatkey then result:=1 else result:=CallNextHookEx(KBLLHook,code,wParam,lParam); [/code] |
st33chen
尊榮會員 發表:15 回覆:591 積分:1201 註冊:2005-09-30 發送簡訊給我 |
您好,
我試了另一個方法, 請參考一下 form1 的 keypreview 設為 true; checkbox1 打勾代表解禁. procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char); begin if not checkbox1.Checked then key := #0; end;
------
IS IT WHAT IT IS 我是 李慕白 請倒著唸. 又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦); 都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲. |
歸木淡
中階會員 發表:1 回覆:49 積分:75 註冊:2005-09-07 發送簡訊給我 |
|
Ktop_Robot
站務副站長 發表:0 回覆:3511 積分:0 註冊:2007-04-17 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |