吴忠躺衫网络科技有限公司

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

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

3天內不再提示

英創信息技術如何實現WinCE系統中USB設備自動檢測概述

英創信息技術 ? 來源:英創信息技術 ? 作者:英創信息技術 ? 2019-11-18 09:44 ? 次閱讀

英創公司ARM9系列工控主板預裝正版WinCE操作系統,提供標準USB接口,本文介紹如何在應用程序中判斷USB存儲設備的插入和移出操作。

方法一:思路是在應用程序創建一個線程,在線程里循環定時查詢系統中是否存在USB存儲設備,可以通過讀取系統注冊表或調用 API函數來實現,下面是通過API函數查詢USB存儲設備的程序片段。

STOREINFO StoreInfo;

hDevice = FindFirstStore( &StoreInfo );

if( INVALID_HANDLE_VALUE != hDevice )

{

do

{

// 判斷是否為USB存儲設備

if( 0 == _tcscmp( StoreInfo.szStoreName, _T(‘USB Hard Disk Drive’) ) )

{

// 如果查找到USB存儲設備,則打印信息到調試串口

RETAILMSG( 1, (TEXT(‘USB%shas been inserted\n’ ) ,

StoreInfo.szDeviceName ));

}

}while( FindNextStore( hDevice, &StoreInfo ) );

}

方法二:上面的方法在效率和實時性方面都不能令人滿意,通常只用作檢測U盤是否已接入到系統中,如果要實時的檢測U盤的插入,移出操作,推薦使用下面提出的方法。

當USB設備插入或從系統中移出時,系統會產生WM_DEVICECHANGE消息,應用程序只需要處理這個消息就可以方便的判斷U盤的插入和移出操作,我們需要關心WM_DEVICECHANGE消息wParam參數的兩個取值:

DBT_DEVICEARRIVAL // 設備插入

DBT_DEVICEREMOVECOMPLETE // 設備移出

(WM_DEVICECHANGE消息更詳細的信息,請參考MSDN WM_DEVICECHANGE Message http://msdn.microsoft.com/en-us/library/aa363480(VS.85).aspx)

值得注意的是當網絡設備插入和移出時,也會觸發這個消息,這樣就會對判斷是否為USB設備產生影響,不過,在WM_DEVICECHANGE消息的lParam參數中保存了設備的相關信息,對設備類型進行判斷,只需要獲得DEV_BROADCAST_VOLUME結構中的dbcv_flags的值,當它的值為DBTF_INET時,表示產生此消息的設備是網絡設備,它的值等于DBTF_MEDIA時,表示產生消息的是媒體設備。對WM_DEVICECHANGE消息了解后,就可以利用它,在程序中實時檢測USB設備的插入和移出了。下面是節略的程序片段。

// 窗口回調函數中,當系統消息為WM_DEVICECHANGE時,調用此函數

LRESULT USBDetect( HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam )

{

PDEV_BROADCAST_VOLUME dbvDev = (PDEV_BROADCAST_VOLUME)lParam;

if( dbvDev-》dbcv_flags & DBTF_MEDIA ) // 判斷是否為USB存儲設備

{

switch( wParam )

{

case DBT_DEVICEARRIVAL: // USB存儲設備插入

RETAILMSG(1, (TEXT( ‘USBDisk%c is inserted\n’), dbvDev-》dbcv_name[0]));

break;

case DBT_DEVICEREMOVECOMPLETE: // USB存儲設備移出

RETAILMSG( 1, (TEXT( ‘USBDisk%c is remove\n’), dbvDev-》dbcv_name[0] ));

break;

}

}

return 0;

}

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式主板
    +關注

    關注

    7

    文章

    6086

    瀏覽量

    35613
收藏 人收藏

    評論

    相關推薦

    光電測徑儀在自動檢測的應用

    的一個組成部分,光電測徑儀即是自動檢測的一種,是用于檢測外徑尺寸的設備?! 〗陙?,光電測徑儀發展很快,主要表現在:  1、檢測
    發表于 08-28 09:15

    用于自動檢測的板測寬儀

    在生產中不可避免會產生傾斜、跳動、側移等影響測量的問題,為此鋼板測寬儀采用補償功能,通過軟件計算等實現高精度的寬度尺寸測量。  主要特征  隨著檢測及傳感器技術、電子信息技術、計算機
    發表于 12-14 10:26

    伺服電機位置自動檢測霍爾元件

    自動檢測管理方法取代傳統的企業人工霍爾檢測方法,而霍爾元件安裝位置的自動檢測信息技術正是由于其高效性和實用性智慧。它具有精度高、精度高的優點,具有較高的實用價值。
    發表于 06-30 10:28

    請問怎么實現插孔自動檢測電路的設計?

    如何實現插孔自動檢測電路的設計?自動檢測插孔的基本原理是什么?
    發表于 04-09 06:11

    自然圖像的對象自動檢測和提取

    引入基于例子的摳圖模型,實現對自然圖像的自動訓練和檢測,采用視覺單詞的層次空間直方圖改進特征包分類檢測技術,提高
    發表于 04-01 09:11 ?22次下載

    自動檢測技術課件

    自動檢測技術》是自動化專業一門專業基礎課,是一門必選課,它是后續課程的重要基礎,主要講述工業參數的自動檢測技術。本電子教案為PPT課件。本
    發表于 06-14 19:44 ?0次下載

    雷達故障自動檢測系統

    本文介紹了雷達故障自動檢測系統設計。對雷達故障自動檢測系統提出了總體設計任務和目標、構成、功能、性能、技術指標。對雷達
    發表于 07-15 10:41 ?26次下載

    自動檢測系統原理應用和發展狀況的研究

    自動檢測系統原理應用和發展狀況的研究 介紹了自動檢測技術的發展現狀及其在性能檢測和故障診斷方面應用的必要性和良好前景;討論了現代自
    發表于 05-19 08:57 ?3824次閱讀
    <b class='flag-5'>自動檢測</b><b class='flag-5'>系統</b>原理應用和發展狀況的研究

    CAN總線在糧情自動檢測系統的應用

    CAN總線在糧情自動檢測系統的應用 介紹基于CAN的糧情自動檢測系統的設計,著重討論了利用CAN總線進行通信的通信規程。 &n
    發表于 05-26 16:20 ?1275次閱讀
    CAN總線在糧情<b class='flag-5'>自動檢測</b><b class='flag-5'>系統</b><b class='flag-5'>中</b>的應用

    Maxim高速USB模擬開關,可對便攜式設備進行自動檢測

    Maxim高速USB模擬開關,可對便攜式設備進行自動檢測 Maxim推出高速USB模擬開關MAX14550E,器件帶有USB主機充電器識別
    發表于 12-09 08:46 ?968次閱讀

    基于PXI和SCXI板卡系統的空調自動檢測和故障診斷

    一、系統概述系統主要用于對空調設備的關鍵器件進行自動檢測和故障診斷。該系統
    發表于 07-02 11:31 ?1426次閱讀
    基于PXI和SCXI板卡<b class='flag-5'>系統</b>的空調<b class='flag-5'>自動檢測</b>和故障診斷

    WinCE系統USB設備自動檢測實現

    公司ARM9系列工控主板預裝正版 WinCE 操作系統,提供標準USB接口,本文介紹如何在應用程序
    發表于 06-09 15:48 ?51次下載

    基于USB和LabVIEW的ECU自動檢測系統的設計

    本文描述了一直基于USB和LabVIEW的ECU自動檢測系統的設計方案。
    發表于 03-23 14:04 ?11次下載

    信息技術WinCE主板與STM32多功能模塊通訊介紹

    ,STM32F103RCT6通過其USB Device接口與工控主板連接通訊,STM32在WinCE系統中被當做一個串口
    的頭像 發表于 02-06 11:12 ?2137次閱讀

    信息技術WinCE文件系統測試及故障分析簡介

    WINCE文件系統的偶發故障一直是WINCE系統最為棘手的問題,盡管出現故障的幾率不高,但對設備的穩定運行造成嚴重影響。為了保證基于
    的頭像 發表于 02-07 11:15 ?1506次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創</b><b class='flag-5'>信息技術</b><b class='flag-5'>WinCE</b>文件<b class='flag-5'>系統</b>測試及故障分析簡介
    澳门百家乐介绍| 大发888 大发888| 芦溪县| 澳门百家乐官网网上娱乐场开户注册| 三星百家乐的玩法技巧和规则| 百家乐官网下注瀛钱法| 菲律宾百家乐太阳城| 八大胜娱乐城| 做生意讲究风水吗| 新濠国际娱乐| 骰子百家乐官网的玩法技巧和规则 | 百家乐官网道具扫描| 威尼斯人娱乐平台赌| 猪猪网百家乐官网软件| 火箭百家乐的玩法技巧和规则| 百家乐官网博彩开户博彩通 | 敦煌市| 澳门百家乐战法| 百家乐官网的关键技巧| 捷豹百家乐的玩法技巧和规则| 百家乐官网澳门色子| 富田太阳城二期| 喜来登百家乐官网的玩法技巧和规则 | bet365地址| 百家乐官网投注| 轮台县| 百家乐专业术语| 网上百家乐官网有人赢过吗| 威尼斯人娱乐城信誉最好| 百家乐官网真人玩下载| 永利娱乐城提款| 百家乐庄闲客户端| 百家乐官网哪家有优惠| 百家乐必胜方法如果你还想继续不看可能后悔一生 | 娱乐城注册送礼金| 百家乐投注平台信誉排名| 澳门百家乐官网是骗人的| 张家港百家乐赌博| 百家乐官网缆法排行榜| 顶级赌场 足彩分析| 电投百家乐官网网站|