全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1324
推到 Plurk!
推到 Facebook!

有關keyboard hooks

尚未結案
minlee00188
一般會員


發表:9
回覆:14
積分:4
註冊:2002-10-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-03 19:07:53 IP:211.74.xxx.xxx 未訂閱
各位好, 小弟想研究keyboard hooks 來做keyboard 測試程試, 但是不太會用,遇到困難: 1. 我想把鍵盤重覆計數的功能關掉,也就是我一直按鍵不放,只送一次訊號 不要一直送出訊號要如何做? 2. 我在按一些特殊鍵如 L-WIN 鍵,我可以得到訊號,但是"開始Menu" 也會跑出來,要如何擋下"開始Menu " 讓它不要跑出來?    感謝大家
ouyongke
一般會員


發表:2
回覆:6
積分:6
註冊:2003-05-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-10 20:41:13 IP:218.76.xxx.xxx 未訂閱
可能你要说清楚要应用的系统, WIN98下面的话肯定有人知道,2000下面就不一定了
------
城市里, 我像一粒尘埃, 默默地存在...
minlee00188
一般會員


發表:9
回覆:14
積分:4
註冊:2002-10-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-05-12 15:42:57 IP:61.220.xxx.xxx 未訂閱
您好, 我已解決第一個問題,第二個問題Win key 還是擋不掉 我想在win 98 下解決
Cooky Kid
初階會員


發表:5
回覆:68
積分:44
註冊:2002-07-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-05-13 17:18:07 IP:210.58.xxx.xxx 未訂閱
引言: 2. 我在按一些特殊鍵如 L-WIN 鍵,我可以得到訊號,但是"開始Menu" 也會跑出來,要如何擋下"開始Menu " 讓它不要跑出來?
若您是用Hook方式處理第一個問題, 那就要先取得特殊鍵(如 L-WIN 鍵)送出的訊息代碼,再加以攔截。 這 .... 小弟沒法提供解法..... sorry..... 若您不是用Hook方式處理第一個問題, 小弟倒是可以提供您一個『偏方』,解決第二個問題... 就是 將"開始Menu"強制失效,再將快捷工具列(tray)隱藏 程式碼如下: 將"開始Menu"強制失效
char buffer[MAX_PATH];
//取得快捷工具列的handle
HWND HTray = ::FindWindow("Shell_TrayWnd", NULL);
//取得快捷工具列下的子視窗handle
HWND HChild = ::GetWindow(HTray, GW_CHILD);
//逐一找尋到<開始>按鈕物件handle
while(HChild)
   {
   ::GetClassName(HChild, buffer, sizeof(buffer));
   if (strcmp(buffer, "Button") == 0) break;
   //若否,則取得下一子視窗handle
   HChild = ::GetWindow(HChild, GW_HWNDNEXT);
   }
//將<開始>按鈕失效
::EnableWindow(HChild, false);
//將<開始>按鈕致能
//::EnableWindow(HButton, true);
將快捷工具列(tray)隱藏
//取得快捷工具列的handle
HWND hTaskBar = ::FindWindow("Shell_TrayWnd", NULL);
//隱藏快捷工具列
::ShowWindow(hTaskBar, SW_HIDE);
//顯現快捷工具列
//::ShowWindow(hTaskBar, SW_SHOW);
系統時間:2024-04-26 23:27:20
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!