chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

英創(chuàng)信息技術(shù)WinCE系統(tǒng)鼠標鍵盤鉤子使用方法簡介

英創(chuàng)信息技術(shù) ? 來源:英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2020-02-05 11:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在實際應(yīng)用中,有時程序需要在特定的鼠標、按鍵事件后,執(zhí)行一些操作,比如:

1、點擊觸摸屏時觸發(fā)蜂鳴器。

2、在休眠狀態(tài)點擊觸摸屏后,讓程序結(jié)束休眠狀態(tài)。

3、設(shè)定全局的按鍵功能,如一鍵截圖或一鍵關(guān)機。

4、過濾一些鼠標或鍵盤操作等等。

這時,可以使用鍵盤鼠標鉤子來實現(xiàn)這些功能。

鉤子是WINDOWS/WINCE系統(tǒng)獨有的消息處理機制。通過系統(tǒng)調(diào)用,將消息處理程序段掛入系統(tǒng),獲得消息處理優(yōu)先控制權(quán),在消息達到目的窗口前進行處理。鉤子函數(shù)可以通過判斷決定是否加工處理(改變)消息,或不做處理繼續(xù)傳遞各消息,或強制結(jié)束消息傳遞。

鉤子有很多種,WINCE系統(tǒng)已精簡到只有4種鉤子。同時鉤子又可做局部鉤子或全局鉤子,局部鉤子僅在指定進程內(nèi)生效,而全局鉤子在系統(tǒng)范圍內(nèi)都生效。一般的全局鉤子需要掛載到dll中使用,本文介紹的鼠標鉤子和鍵盤鉤子較特殊,不需要掛載到dll中即可全局生效。

鉤子的運行邏輯如下圖,每種鉤子可以掛入任意多個鉤子函數(shù),以鏈表方式存儲。系統(tǒng)優(yōu)先訪問鏈表首位的鉤子,然后依次傳遞消息給后面的鉤子處理。后掛入的鉤子位于鏈表的前端。

使用方法

添加鉤子分3步。

1、編寫鉤子函數(shù)處理代碼

2、調(diào)用API函數(shù)將鉤子函數(shù)掛入系統(tǒng)

3、創(chuàng)建消息循環(huán),使鉤子運作起來

添加引用

使用鉤子需要用到函數(shù),SetWindowsHookEx,UnhookWindowsHookEx,CallNextHookEx。及鍵盤鉤子鼠標鉤子的定義,及鍵盤消息,鼠標消息的結(jié)構(gòu)體定義,均定義在pwinuser.h中。

#include "pwinuser.h"

創(chuàng)建需要掛入系統(tǒng)的消息處理函數(shù)

即鉤子函數(shù),鉤子函數(shù)定義必須為制定的格式。

鉤子函數(shù)根據(jù)實際應(yīng)用需求,決定是否調(diào)用CallNextHookEx,將消息傳遞給后面的鉤子處理。

首位的鉤子函數(shù)返回值決定該消息是丟棄,還是傳給系統(tǒng)消息處理函數(shù),再分發(fā)給各窗口。

以下為鍵盤及鼠標鉤子函數(shù)的示例。

鍵盤鉤子函數(shù)

該鍵盤鉤子示例函數(shù)中,當檢測到按鍵‘1’按下時,調(diào)用Beep函數(shù)觸發(fā)蜂鳴器。

LRESULT CALLBACK KeyboardProc(intnCode,WPARAM wParam,LPARAM lParam)

{

KBDLLHOOKSTRUCT *pkbhs = (KBDLLHOOKSTRUCT *) lParam;

if(wParam == WM_KEYDOWN) //按鈕按下

{

switch(pkbhs->vkCode)

{

case0x31: //按鈕‘’

Beep();

break;

defaut:

break;

}

}

returnCallNextHookEx(NULL,nCode,wParam,lParam);

}

注:

1、WINCE鍵盤鉤子函數(shù)得到的WPARAM記錄的消息類別,如按鍵是按下消息WM_KEYDOWN還是彈起消息WM_KEYUP。

LPARAM指向鍵盤消息結(jié)構(gòu)體KBDLLHOOKSTRUCT,里面記錄有詳細信息,如觸發(fā)的按鍵是什么,有沒有輔助按下ALT鍵或者CTRL鍵,等等。

2、鉤子隊列第一個鉤子的返回值決定系統(tǒng)是否能接受到該消息。

返回0表示,將消息傳遞給系統(tǒng)消息處理函數(shù)繼續(xù)處理。

返回1表示,丟棄消息,系統(tǒng)將收不到該消息。

調(diào)用CallNextHookEx表示調(diào)用下一個鉤子消息處理函數(shù),如果不調(diào)用,那么后面的鉤子函數(shù)將不產(chǎn)生作用。

鼠標(觸摸屏)鉤子函數(shù)

該鼠標鉤子示例函數(shù)中,當檢測到鼠標或觸摸屏點擊時,調(diào)用Beep函數(shù)觸發(fā)蜂鳴器。

LRESULT CALLBACK MouseHookProc(intnCode, WPARAM wParam, LPARAM lParam)

{

MSLLHOOKSTRUCT *pmshs = (MSLLHOOKSTRUCT *) lParam;

if(wParam == WM_LBUTTONDOWN) //鼠標點擊處理代碼

{

Beep();

}

returnCallNextHookEx(NULL,nCode,wParam,lParam);

}

注:

1、WINCE鼠標鉤子函數(shù)得到的WPARAM記錄的消息類別,如是鼠標按下還是彈起,還是雙擊,移動,等等。

LPARAM記錄的詳細信息,如點擊坐標,滾輪參數(shù)等等。

2、觸摸屏消息和鼠標消息是一樣的。

3、鉤子隊列第一個鉤子的返回值決定系統(tǒng)是否能接受到該消息。

返回0表示,將消息傳遞給系統(tǒng)消息處理函數(shù)繼續(xù)處理。

返回1表示,丟棄消息,系統(tǒng)將收不到該消息。

調(diào)用CallNextHookEx表示調(diào)用下一個鉤子消息處理函數(shù),如果不調(diào)用,那么后面的鉤子函數(shù)將不產(chǎn)生作用。

Beep函數(shù)

在本文示例中,將嵌入式板子GPIO15連接上一個蜂鳴器,通過設(shè)置GPIO電平觸發(fā)蜂鳴器。

在程序初始段打開GPIO,獲得GPIO句柄。

#include"isa_dio.h"

HANDLE hGpio;

hGpio = OpenGPIO( _T("PIO1:"));

添加Beep函數(shù),通過GPIO句柄操作GPIO15。

voidBeep()

{

GPIO_OutClear(hGpio, GPIO15);

Sleep(10);

GPIO_OutSet(hGpio, GPIO15);

}

添加鉤子

在主線程中調(diào)用SetWindowsHookEx函數(shù)向系統(tǒng)添加鉤子。

第一個參數(shù)為添加的鉤子類型,WH_KEYBOARD_LL為鍵盤鉤子,WH_MOUSE_LL為鼠標鉤子。

第二個參數(shù)為注入的消息處理函數(shù)指針,即前面定義的鉤子函數(shù)。

第三個參數(shù)為鉤子程序的instance指針,本文介紹的鉤子并不需要掛載到dll中使用,所以簡單設(shè)置為NULL即可。

最后個參數(shù)為鉤子關(guān)聯(lián)的線程句柄,這里為0表示關(guān)聯(lián)所有線程,即全局鉤子。

函數(shù)返回NULL表示添加鉤子失敗,成功返回鉤子句柄。

示例代碼如下:

HINSTANCE hInstance = NULL;

HHOOK g_hKBDhook = NULL;

HHOOK g_hMouseHook = NULL;

g_hKBDhook = SetWindowsHookEx(WH_KEYBOARD_LL, KeyboardProc, hInstance, 0);

if(g_hKBDhook == NULL)

{

returnfalse;

}

g_hMouseHook = SetWindowsHookEx(WH_MOUSE_LL, MouseHookProc, hInstance, 0);

if(g_hMouseHook == NULL)

{

returnfalse;

}

添加消息循環(huán)

鉤子機制是基于消息循環(huán)的,所以添加消息循環(huán)是必須的,如果沒有添加消息循環(huán),會導(dǎo)致系統(tǒng)消息進入鉤子后卡死。

MFC框架的程序已經(jīng)自帶消息循環(huán)。

而命令行的程序則需要在主函數(shù)里添加以下代碼。

MSG msg;

while(GetMessage(&msg, NULL, 0, 0)) {

TranslateMessage(&msg);

DispatchMessage(&msg);

}

刪除鉤子

當不需要鉤子時,應(yīng)當主動釋放鉤子。

UnhookWindowsHookEx(g_ hKBDhook);

UnhookWindowsHookEx(g_hMouseHook);

英創(chuàng)提供了例程及源代碼,有需要的客戶可以聯(lián)系英創(chuàng)工程師獲得。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • WINDOWS
    +關(guān)注

    關(guān)注

    4

    文章

    3698

    瀏覽量

    93524
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6107

    瀏覽量

    37010
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    龍芯中科成功舉辦2025信息技術(shù)應(yīng)用創(chuàng)新產(chǎn)教融合交流會

    11月30日,在教育部教育管理信息中心、山東省電化教育館的支持和指導(dǎo)下,龍芯中科聯(lián)合浪潮集團、濟南幼兒師范高等專科學校(以下簡稱“濟南幼高?!保?,成功舉辦信息技術(shù)應(yīng)用創(chuàng)新產(chǎn)教融合交流會,并同步舉行信息技術(shù)應(yīng)用創(chuàng)新實踐基地啟用儀式
    的頭像 發(fā)表于 12-08 14:53 ?669次閱讀

    龍芯中科助力2025教育信息技術(shù)應(yīng)用創(chuàng)新大賽成功舉辦

    2025年11月13日-15日,由中國教育技術(shù)協(xié)會主辦、浙江大學與中國教育技術(shù)協(xié)會網(wǎng)絡(luò)安全專業(yè)委員會聯(lián)合承辦,中國電子工業(yè)標準化技術(shù)協(xié)會信息技術(shù)應(yīng)用創(chuàng)新工作委員會、浙江高校信
    的頭像 發(fā)表于 11-21 16:23 ?720次閱讀

    誠邁科技信創(chuàng)電腦助力2025第二屆教育信息技術(shù)應(yīng)用創(chuàng)新大賽圓滿收官

    11月15日,由中國教育技術(shù)協(xié)會主辦、浙江大學與中國教育技術(shù)協(xié)會網(wǎng)絡(luò)安全專業(yè)委員會聯(lián)合承辦,中國電子工業(yè)標準化技術(shù)協(xié)會信息技術(shù)應(yīng)用創(chuàng)新工作委員會、浙江高校信
    的頭像 發(fā)表于 11-17 17:58 ?599次閱讀
    誠邁科技信<b class='flag-5'>創(chuàng)</b>電腦助力2025第二屆教育<b class='flag-5'>信息技術(shù)</b>應(yīng)用創(chuàng)新大賽圓滿收官

    寶馬南京信息技術(shù)有限公司開業(yè)

    今日,寶馬(南京)信息技術(shù)有限公司在南京正式“掛牌運行”。這家華晨寶馬全資子公司由領(lǐng)悅數(shù)字信息技術(shù)有限公司南京分公司“迭代”而來,代表著一次里程碑式的“進化”。這次升級不僅加速了寶馬在華數(shù)字化轉(zhuǎn)型進程,更通過深化本土創(chuàng)新,為“未來智慧出行”的發(fā)展譜寫了核心“代碼”。
    的頭像 發(fā)表于 10-29 15:17 ?550次閱讀

    易華錄入選國家級信息技術(shù)應(yīng)用創(chuàng)新典型解決方案

    近日,工業(yè)和信息化部網(wǎng)絡(luò)安全產(chǎn)業(yè)發(fā)展中心(工業(yè)和信息化部信息中心)公布了“2024年信息技術(shù)應(yīng)用創(chuàng)新解決方案”評選結(jié)果。易華錄申報的“基于節(jié)能高效藍光的超級智能存儲解決方案”憑借顯著的
    的頭像 發(fā)表于 08-07 15:35 ?1481次閱讀

    信息技術(shù)應(yīng)用產(chǎn)學協(xié)同人才培養(yǎng)行動計劃”正式發(fā)布,誠邁科技入選首批參與單位

    設(shè)在中國軟件評測中心。誠邁科技作為信創(chuàng)技術(shù)先鋒企業(yè),受邀成為首批參與單位,與國內(nèi)頂尖高校、領(lǐng)軍企業(yè)和權(quán)威機構(gòu)攜手,共同打造具有中國特色的信息技術(shù)人才培養(yǎng)新范式,為
    的頭像 發(fā)表于 08-06 17:29 ?1454次閱讀
    “<b class='flag-5'>信息技術(shù)</b>應(yīng)用產(chǎn)學協(xié)同人才培養(yǎng)行動計劃”正式發(fā)布,誠邁科技入選首批參與單位

    佛瑞亞如何通過信息技術(shù)推動業(yè)務(wù)增長

    在數(shù)字化、信息化的浪潮下,信息技術(shù)已經(jīng)不僅是后臺工具,更成為驅(qū)動企業(yè)發(fā)展的關(guān)鍵力量。本期Women Inspiring Mobility,我們采訪了佛瑞亞中國區(qū)信息技術(shù)總監(jiān)馬瑛,了解她和團隊如何將
    的頭像 發(fā)表于 07-29 14:00 ?828次閱讀

    飛騰主板為信創(chuàng)產(chǎn)業(yè)發(fā)展提高硬實力

    信息技術(shù)飛速發(fā)展的當下,信創(chuàng)產(chǎn)業(yè)已成為我國實現(xiàn)科技自立自強、保障國家信息安全的關(guān)鍵領(lǐng)域。信創(chuàng),即信息技術(shù)應(yīng)用創(chuàng)新,其核心目標是實現(xiàn)
    的頭像 發(fā)表于 07-22 18:20 ?646次閱讀

    DEKRA德凱成為沙特通信和信息技術(shù)設(shè)備技術(shù)法規(guī)認證機構(gòu)

    近日,DEKRA德凱成功獲得沙特標準、計量和質(zhì)量組織(SASO)認可,正式成為沙特通信和信息技術(shù)設(shè)備技術(shù)法規(guī)(Technical Regulation for Communications
    的頭像 發(fā)表于 07-15 14:27 ?837次閱讀

    京能信息蒞臨中軟國際數(shù)字電力科創(chuàng)中心調(diào)研

    近日,北京京能信息技術(shù)有限公司(以下簡稱“京能信息”)黨總支書記、董事長胡耀宇,黨總支副書記、總經(jīng)理梁錦華一行赴能源谷數(shù)字電力科創(chuàng)中心調(diào)研交流,與中軟國際開展戰(zhàn)略合作洽談。中軟國際執(zhí)行總裁曹雁率
    的頭像 發(fā)表于 06-26 17:46 ?1471次閱讀

    科普|信創(chuàng)是什么?一文讀懂“信息技術(shù)應(yīng)用創(chuàng)新”戰(zhàn)略

    什么是信創(chuàng)?信創(chuàng),即“信息技術(shù)應(yīng)用創(chuàng)新”,是國家推動IT系統(tǒng)自主可控、安全可控的重要戰(zhàn)略工程。它不僅是技術(shù)層面的創(chuàng)新,更承載著保障國家網(wǎng)絡(luò)安
    的頭像 發(fā)表于 06-13 10:06 ?7427次閱讀
    科普|信<b class='flag-5'>創(chuàng)</b>是什么?一文讀懂“<b class='flag-5'>信息技術(shù)</b>應(yīng)用創(chuàng)新”戰(zhàn)略

    2025第二屆教育信息技術(shù)應(yīng)用創(chuàng)新大賽正式開賽

    為進一步落實建設(shè)網(wǎng)絡(luò)強國和教育強國的戰(zhàn)略部署,推動各級教育行政部門及高校信息技術(shù)應(yīng)用創(chuàng)新能力提升,培養(yǎng)實戰(zhàn)型創(chuàng)新人才。龍芯中科聯(lián)合太初元碁、誠邁科技在2025第二屆教育信息技術(shù)應(yīng)用創(chuàng)新大賽共同發(fā)布信息技術(shù)應(yīng)用創(chuàng)新人工智能方向(賽
    的頭像 發(fā)表于 05-13 16:21 ?1371次閱讀

    長沙新一代信息技術(shù)產(chǎn)教聯(lián)合體正式成立,拓維信息當選理事長單位

    副理事長單位。大會由湖南省教育廳、長沙市教育局聯(lián)合指導(dǎo),長沙高新區(qū)麓谷產(chǎn)業(yè)園(長沙信息產(chǎn)業(yè)園)、湖南商務(wù)職業(yè)技術(shù)學院、拓維信息系統(tǒng)股份有限公司主辦,長沙新一代信息技術(shù)產(chǎn)
    的頭像 發(fā)表于 03-26 17:48 ?951次閱讀
    長沙新一代<b class='flag-5'>信息技術(shù)</b>產(chǎn)教聯(lián)合體正式成立,拓維<b class='flag-5'>信息</b>當選理事長單位

    基于Nordic nRF52840無線鍵盤、鼠標物聯(lián)網(wǎng)解決方案

    隨著物聯(lián)網(wǎng)技術(shù)的快速發(fā)展,無線鍵盤鼠標方案在辦公場景中正發(fā)揮著越來越重要的作用。該方案基于BLE(低功耗藍牙)和物聯(lián)網(wǎng)技術(shù),為用戶提供了無線、便捷、高效的輸入和控制體驗。 方案說明:
    發(fā)表于 03-25 17:44

    精密空調(diào)操作使用方法詳解

    精密空調(diào)操作使用方法詳解
    的頭像 發(fā)表于 02-10 14:44 ?2127次閱讀
    精密空調(diào)操作<b class='flag-5'>使用方法</b>詳解