線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1703
推到 Plurk!
推到 Facebook!

請問如何擋掉 滑鼠右鍵 和 ctrl+esc

答題得分者是:turboted
kunying
一般會員


發表:17
回覆:28
積分:19
註冊:2002-03-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-08-16 17:01:30 IP:61.63.xxx.xxx 未訂閱
大家好,最近寫程式需要 擋掉 (1)滑鼠右鍵 (鍵盤上那一個按鍵) (2)ctrl esc (鍵盤上那一個按鍵,有微軟圖的那一個按鍵) 所以搜尋深度歷險,發現錢達智大哥的文章 利用 hook 來擋鍵盤 可是他的方法也不能擋掉這二個按鍵,想請問各位怎麼做才可擋掉 這二個按鍵。 (能試的我都試了…) 是我改錯了嗎,請大家幫忙 ~>_<~ 謝謝。 以下是錢達智大哥的文章(部份) http://vcl.vclxx.org/DELPHI/D32SAMPL/HOOKDEMO.ZIP unit HKProc; interface uses Windows, Messages; var hNextHookProc: HHook; procSaveExit: Pointer; function KeyboardHookHandler(iCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall; export; function EnableHotKeyHook: BOOL; export; function DisableHotKeyHook: BOOL; export; procedure HotKeyHookExit; far; implementation function KeyboardHookHandler(iCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall; export; const _KeyPressMask = $80000000; begin messagebox(0,'keydown','keydown',64); Result := 0; If iCode < 0 Then begin Result := CallNextHookEx(hNextHookProc, iCode, wParam, lParam); Exit; end; Result := 1; //這一段被我改掉,什麼鍵進來都不回應 end; //結果還是不能擋 >_< function EnableHotKeyHook: BOOL; export; begin Result := False; if hNextHookProc <> 0 then Exit; // 掛上 WH_KEYBOARD 這型的 HOOK, 同時, 傳回值必須保留下 // 來, 免得 HOOK 呼叫鏈結斷掉 hNextHookProc := SetWindowsHookEx(WH_KEYBOARD, KeyboardHookHandler, HInstance, 0); Result := hNextHookProc <> 0; end; function DisableHotKeyHook: BOOL; export; begin if hNextHookProc <> 0 then begin UnhookWindowshookEx(hNextHookProc); // 解除 Keyboard Hook hNextHookProc := 0; MessageBeep(0); MessageBeep(0); end; Result := hNextHookProc = 0; end; procedure HotKeyHookExit; begin // 如果忘了解除 HOOK, 自動代理解除的動作 if hNextHookProc <> 0 then DisableHotKeyHook; ExitProc := procSaveExit; end; end. ________________________ 「有時候你以為天要塌下來了,其實是因為你站歪了!」
------
________________________
「有時候你以為天要塌下來了,其實是因為你站歪了!」
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-08-16 18:52:20 IP:61.231.xxx.xxx 未訂閱
這個問題也困擾著我,因為出機給客戶時,希望客戶不要亂按,似乎是沒法要求,而在 XP/2K/NT 中,一些系統的按鍵(熱鍵)是無法擋掉的! 在 XP/2K/NT 中不讓你 HOOK 一些系統鍵,是怕你 HOOK 掉系統鍵,並且叫出自己的程式取代 Windows 的介面,這樣可以直接由操作者自己輸入自己的密碼給你的程式... 這樣就變成漏洞了。 之前在網路上有找到過軟體設定的方法,好像是可以把整個鍵盤的 scan code 都重新定義... 可惜忘了網址了... 我同事的想法是用硬體解決,直接將那幾個按鈕的線路剪掉... 不過可能沒有人會這樣作吧  沒空更新的網頁...<><>< src="http://www.taconet.com.tw/dllee/gif/dlleebn.gif">
C及指標教學 http://coolsite.to/dllee介紹Shells http://coolsite.to/ushells
------
http://www.ViewMove.com
turboted
版主


發表:95
回覆:754
積分:452
註冊:2002-07-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-08-16 23:10:12 IP:61.216.xxx.xxx 未訂閱
偷偷給大家一個方向....由螢保方面下手去找...很會就會有所發現 學著動感超人的手勢:"哇哈哈~我是動感超人~"
jackkcg
站務副站長


發表:891
回覆:1050
積分:848
註冊:2002-03-23

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-08-18 07:29:56 IP:61.70.xxx.xxx 未訂閱
使用flash *.swf撥放 將圖片放大 快速 又ok 參考 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=18073 撥放Flash動畫檔的程式範例
------
**********************************************************
哈哈&兵燹
最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好

Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知
K.表Knowlege 知識,就是本站的標語:Open our mind
kunying
一般會員


發表:17
回覆:28
積分:19
註冊:2002-03-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-08-19 14:06:16 IP:61.63.xxx.xxx 未訂閱
原來是這樣啊 ^^ 了解了,謝謝。 ________________________ 「有時候你以為天要塌下來了,其實是因為你站歪了!」
------
________________________
「有時候你以為天要塌下來了,其實是因為你站歪了!」
kunying
一般會員


發表:17
回覆:28
積分:19
註冊:2002-03-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-08-27 17:57:10 IP:61.63.xxx.xxx 未訂閱
再請教各位 特殊鍵盤 如 送email、控制音量…等 這些是不是無法可擋?? ________________________ 「有時候你以為天要塌下來了,其實是因為你站歪了!」
------
________________________
「有時候你以為天要塌下來了,其實是因為你站歪了!」
系統時間:2024-04-26 12:37:04
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!