CN106933754A - 一种usb驱动识别方法及装置 - Google Patents
一种usb驱动识别方法及装置 Download PDFInfo
- Publication number
- CN106933754A CN106933754A CN201710123821.8A CN201710123821A CN106933754A CN 106933754 A CN106933754 A CN 106933754A CN 201710123821 A CN201710123821 A CN 201710123821A CN 106933754 A CN106933754 A CN 106933754A
- Authority
- CN
- China
- Prior art keywords
- usb
- usb device
- vid
- write
- pid information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
Abstract
本发明公开了一种USB驱动识别方法,包括以下步骤:获取与计算机连接的USB设备的VID和PID信息;判断计算机操作系统的注册表是否已写入所述USB设备的VID和PID信息;若没有写入,识别所述USB设备的驱动为未安装;否则,识别所述USB设备的驱动为已安装。本发明还提供了一种USB驱动识别装置。本发明基于USB设备的VID和PID信息识别驱动是否安装,忽略USB设备的序列号,从而可避免对不同序列号的同一USB设备重复安装USB驱动。
Description
技术领域
本发明涉及USB技术,特别涉及USB驱动的识别方法及识别装置。
背景技术
随着计算机硬件技术的蓬勃发展,外围设备日益增多,键盘、鼠标、调制解调器、打印机、扫描仪早为人所共知,数码相机、MP3随身听,以及智能移动设备如智能手机、平板计算机等接踵而至。为了方便计算机周边设备与计算机连接方便,通常采用标准化、单一化的USB接口。一般需要在计算机上下载并安装相应的USB驱动,才能使计算机正常操作外围USB设备。在现有技术中,用户只需要根据外围USB设备型号下载相应驱动并安装。
但是值得注意的是在电子设备的制造领域中,工厂通常会用工业计算机,通过USB连接电子设备对其进行生产测试。而装有Windows操作系统的计算机对插入不同序列号的设备时,系统会提示需要安装设备驱动。即使插入到计算机的是同一种设备,只要是序列号不同,也会出现该现象。目前常见的Android设备,每台都会有独立的序列号。因此在生产测试过程中,会出现反复被要求安装同一个驱动,这将大大的降低生产效率。
为了避免不同序列号新安装驱动的问题,现有方案中强行把序列号设置成相同内容,这种方式会造成多台电子设备与计算机连接时,无法区分哪一台电子设备,容易产生风险,并且针对Android设备,该方法也不符合谷歌公司关于一台Android设备一个序列号的规范。对于无法避免多序列号的工厂则需要反复安装驱动,浪费大量的时间,降低工厂效率。
发明内容
本发明的主要目的在于克服现有技术的缺陷,提供一种USB驱动识别方法及装置。
为达成上述目的,本发明提供一种USB驱动识别方法,包括以下步骤:
S10:获取与计算机连接的USB设备的VID和PID信息;
S20:判断计算机操作系统的注册表是否已写入所述USB设备的VID和PID信息;若没有写入,识别所述USB设备的驱动为未安装;否则,识别所述USB设备的驱动为已安装。
优选地,若识别所述USB设备的驱动为未安装时,安装所述USB设备的驱动,并将所述USB设备的VID和PID信息写入所述计算机操作系统的注册表中。
优选地,所述计算机操作系统为Windows系统。
优选地,计算机Windows系统忽略所述外围USB设备的序列号。
优选地,将所述USB设备的VID和PID信息写入所述计算机操作系统的注册表中的步骤还包括:调用所述window系统的API RegOpenKeyEx函数以打开指定的注册表项;将所述USB设备的VID和PID信息写入所述注册表项。
优选地,所述USB设备通过USB接口或USB传输线与所述计算机连接。
本发明还提供一种USB驱动识别装置,包括获取单元、判断单元以及识别单元。其中,所述获取单元用于当USB设备连接至计算机时获取所述USB设备的VID和PID信息;所述判断单元用于判断计算机操作系统的注册表是否已写入所述USB设备的VID和PID信息;所述识别单元,当所述判断单元判断所述USB设备的VID和PID信息没有写入所述注册表时识别所述USB设备的驱动为未安装,否则识别所述USB设备的驱动为已安装。
优选地,所述USB驱动识别装置还包括驱动安装单元和写入单元,当所述判断单元判断所述USB设备的VID和PID信息没有写入所述注册表时所述驱动安装单元安装所述USB设备的驱动,所述写入单元将所述USB设备的VID和PID信息写入所述计算机操作系统的注册表中。
优选地,所述计算机操作系统为Windows系统。
优选地,所述写入单元调用所述window系统的API RegOpenKeyEx函数以打开指定的注册表项,并将所述USB设备的VID和PID信息写入所述注册表项。
优选地,所述USB设备通过USB接口或USB数据线与所述计算机连接。
相较于现有技术,本发明的USB驱动识别方法及装置基于Windows驱动安装机制,忽略USB设备的序列号,仅根据VID和PID信息识别驱动是否安装,从而解决了在一台计算机上连接不同序列号的同类USB设备需要重复安装问题USB驱动的问题,优化了工作流程,节约了工作时间,提高了生产效率。
附图说明
图1所示为本发明一实施例的USB驱动识别方法的流程图;
图2所示为本发明一实施例的USB驱动识别装置的方块图。
具体实施方式
为使本发明的内容更加清楚易懂,以下结合说明书附图,对本发明的内容作进一步说明。当然本发明并不局限于该具体实施例,本领域内的技术人员所熟知的一般替换也涵盖在本发明的保护范围内。
图1所示为本发明的USB驱动识别方法的流程图,图2所示为USB驱动识别方法装置的方块图,以下将结合图1和图2对本发明进行详细描述。
如图1所示,本发明的USB驱动识别方法包括以下步骤:
S10:获取与计算机连接的USB设备的VID和PID信息。
本实施例中,USB设备可通过USB电子设备自身的USB接口或通过USB传输线与计算机相连。USB设备包括诸如便携式电话、智能手机、笔记本电脑、数字广播终端、个人数字助理、便携式多媒体播放器、导航系统的移动终端等,USB供电设备包括计算机、笔记本电脑、充电器等,本发明并不加以限制。根据USB协议规定,USB设备都有VID(Vendor ID,供应商识别码)和PID(Product ID,产品识别码)信息,VID和PID的长度都是两个字节。其中,VID信息由供应商向USB执行论坛申请。每个供应商的VID信息是唯一的,PID由供应商自行决定。本步骤中,将USB设备与计算机连接后,读取该USB设备的VID和PID信息。
S20:判断计算机操作系统的注册表是否已写入所述USB设备的VID和PID信息;若没有写入,识别所述USB设备的驱动为未安装;否则,识别所述USB设备的驱动为已安装。
本步骤中,通过查询计算机操作系统的注册表判断注册表中是否已经写入了该计算机所连接的USB设备的VID和PID信息,如果VID和PID信息已写入注册表,表示该USB设备在本计算机上已安装过与操作系统相匹配的该USB设备的驱动。如果查询注册表后没有发现相同的VID和PID信息,那么识别该USB设备的驱动还没有安装。本实施例中,操作系统为Windows操作系统。
举例来说,当USB设备A与计算机连接时已经安装了驱动程序,且注册表中已经写入了USB设备A的VID和PID信息,之后和USB设备A具有相同VID和PID信息、不同序列号信息的USB设备B插入计算机后,即可自动识别USB设备B的驱动程序已经安装而不再安装。
由以上可知,本发明是基于USB设备的VID和PID信息而非序列号信息来识别相应的驱动是否安装,因此对于序列号不同的相同USB设备,只要注册表中已经写入了该USB设备的VID和PID设备,操作系统即忽略USB设备序列号这个信息,对插入计算机的同一USB设备不再安装驱动。
优选的,在步骤S20中识别USB设备的驱动为未安装时,安装USB设备的驱动,并将USB设备的VID和PID信息写入计算机操作系统的注册表中。其中,USB设备驱动可自动连接互联网安装,也可直接使用USB设备自带的程序安装。
本实施例中,通过调用Windows操作系统的API RegOpenKeyEx函数打开指定的的注册表项,根据用户输入在该注册表项下写入USB设备的VID和PID信息。本实施例中,将USB设备的VID和PID信息写入Windows操作系统注册表的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\UsbFlags注册表项中。
请参见图2,本发明相应提供一种USB驱动识别装置,包括获取单元1,判断单元2,识别单元3,驱动安装单元4和写入单元5。
其中,获取单元1用于当USB设备连接至计算机时获取USB设备的VID和PID信息。判断单元2用于判断计算机操作系统的注册表是否已写入该USB设备的VID和PID信息。当判断单元2判断没有写入时识别单元3识别该USB设备的驱动为未安装,否则识别该USB设备的驱动为已安装。优选地,当判断单元2判断没有写入时,驱动安装单元4安装USB设备的驱动,写入单元5将USB设备的VID和PID信息写入计算机操作系统的注册表中。具体地,本实施例中写入单元包括基于VC2010开发的AdbDrvierHelper工具,AdbDrvierHelper工具调用Windows操作系统的API RegOpenKeyEx函数,以打开指定的注册表项,之后写入单元根据用户的输入将VID和PID信息添加至该指定的注册表项下。
综上所述,相较于现有技术,本发明的USB驱动识别方法及装置基于Windows驱动安装机制,忽略外围USB设备序列号,仅根据VID和PID信息识别驱动是否安装,从而解决了在一台计算机上连接同类型(VID和PID信息相同)不同序列号USB设备需要重复安装问题USB驱动的问题,优化了工作流程,节约了工作时间,提高了生产效率。
虽然本发明已以较佳实施例揭示如上,然所述诸多实施例仅为了便于说明而举例而已,并非用以限定本发明,本领域的技术人员在不脱离本发明精神和范围的前提下可作若干的更动与润饰,本发明所主张的保护范围应以权利要求书所述为准。
Claims (10)
1.一种USB驱动的识别方法,其特征在于,包括以下步骤:
S10:获取与计算机连接的USB设备的VID和PID信息;
S20:判断计算机操作系统的注册表是否已写入所述USB设备的VID和PID信息;若没有写入,识别所述USB设备的驱动为未安装;否则,识别所述USB设备的驱动为已安装。
2.根据权利要求1所述的USB驱动识别方法,其特征在于,若识别所述USB设备的驱动为未安装时,安装所述USB设备的驱动,并将所述USB设备的VID和PID信息写入所述计算机操作系统的注册表中。
3.根据权利要求2所述的USB驱动识别方法,其特征在于,所述计算机操作系统为Windows系统。
4.根据权利要求3所述的USB驱动识别方法,其特征在于,将所述USB设备的VID和PID信息写入所述计算机操作系统的注册表中的步骤还包括:
调用所述window系统的API RegOpenKeyEx函数以打开指定的注册表项;
将所述USB设备的VID和PID信息写入所述注册表项。
5.根据权利要求1所述的USB驱动识别方法,其特征在于,所述USB设备通过USB接口或USB传输线与所述计算机连接。
6.一种USB驱动识别装置,其特征在于,包括获取单元、判断单元以及识别单元,其中,
所述获取单元,用于当USB设备连接至计算机时获取所述USB设备的VID和PID信息;
所述判断单元,用于判断计算机操作系统的注册表是否已写入所述USB设备的VID和PID信息;
所述识别单元,当所述判断单元判断所述USB设备的VID和PID信息没有写入所述注册表时识别所述USB设备的驱动为未安装,否则识别所述USB设备的驱动为已安装。
7.根据权利要求6所述的USB驱动识别装置,其特征在于,还包括驱动安装单元和写入单元,当所述判断单元判断所述USB设备的VID和PID信息没有写入所述注册表时所述驱动安装单元安装所述USB设备的驱动,所述写入单元将所述USB设备的VID和PID信息写入所述计算机操作系统的注册表中。
8.根据权利要求7所述的USB驱动识别装置,其特征在于,所述计算机操作系统为Windows系统。
9.根据权利要求8所述的USB驱动识别装置,其特征在于,所述写入单元调用所述window系统的API RegOpenKeyEx函数以打开指定的注册表项,并将所述USB设备的VID和PID信息写入所述注册表项。
10.根据权利要求6所述的USB驱动识别装置,其特征在于,所述USB设备通过USB接口或USB数据线与所述计算机连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710123821.8A CN106933754A (zh) | 2017-03-03 | 2017-03-03 | 一种usb驱动识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710123821.8A CN106933754A (zh) | 2017-03-03 | 2017-03-03 | 一种usb驱动识别方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106933754A true CN106933754A (zh) | 2017-07-07 |
Family
ID=59423725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710123821.8A Pending CN106933754A (zh) | 2017-03-03 | 2017-03-03 | 一种usb驱动识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106933754A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107506323A (zh) * | 2017-07-25 | 2017-12-22 | 华为技术有限公司 | 一种热插拔处理方法及装置 |
CN108280034A (zh) * | 2018-01-30 | 2018-07-13 | 深圳市宏电技术股份有限公司 | 一种安卓系统usb-hid设备自适应方法及装置 |
CN109254796A (zh) * | 2018-08-13 | 2019-01-22 | 深圳市德名利电子有限公司 | 一种usb设备的上盘配置方法及主机 |
CN109359489A (zh) * | 2018-10-20 | 2019-02-19 | 国网安徽省电力有限公司蚌埠供电公司 | 一种计算机usb设备接入的检测及预警方法 |
CN110413451A (zh) * | 2019-07-22 | 2019-11-05 | 苏州桦汉科技有限公司 | 一种usb设备自动恢复方法、装置及系统 |
CN116049043A (zh) * | 2023-02-13 | 2023-05-02 | 合肥巨阙电子有限公司 | 一种人机接口设备识别及多设备读写的通讯方法 |
-
2017
- 2017-03-03 CN CN201710123821.8A patent/CN106933754A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107506323A (zh) * | 2017-07-25 | 2017-12-22 | 华为技术有限公司 | 一种热插拔处理方法及装置 |
CN107506323B (zh) * | 2017-07-25 | 2020-03-20 | 华为技术有限公司 | 一种热插拔处理方法及装置 |
CN108280034A (zh) * | 2018-01-30 | 2018-07-13 | 深圳市宏电技术股份有限公司 | 一种安卓系统usb-hid设备自适应方法及装置 |
CN109254796A (zh) * | 2018-08-13 | 2019-01-22 | 深圳市德名利电子有限公司 | 一种usb设备的上盘配置方法及主机 |
CN109359489A (zh) * | 2018-10-20 | 2019-02-19 | 国网安徽省电力有限公司蚌埠供电公司 | 一种计算机usb设备接入的检测及预警方法 |
CN110413451A (zh) * | 2019-07-22 | 2019-11-05 | 苏州桦汉科技有限公司 | 一种usb设备自动恢复方法、装置及系统 |
CN116049043A (zh) * | 2023-02-13 | 2023-05-02 | 合肥巨阙电子有限公司 | 一种人机接口设备识别及多设备读写的通讯方法 |
CN116049043B (zh) * | 2023-02-13 | 2023-08-08 | 合肥巨阙电子有限公司 | 一种人机接口设备识别及多设备读写的通讯方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106933754A (zh) | 一种usb驱动识别方法及装置 | |
CN102033770B (zh) | 移动终端的触摸屏固件升级方法及装置 | |
CN104135520B (zh) | 一种识别安卓终端的方法以及装置 | |
CN101963910A (zh) | 基于通用usb总线的设备固件升级方法 | |
CN103970559A (zh) | 一种基于Android系统的设备加载方法及装置 | |
CN102023882A (zh) | 计算机自动识别手机并安装手机驱动程序的系统及方法 | |
CN103902480A (zh) | 一种安卓手机驱动方法及系统 | |
CN105264507A (zh) | 在通信系统中识别外部设备的装置和方法 | |
CN103761129A (zh) | 一种在Bootloader层实现SDIO接口驱动的方法 | |
CN102254539B (zh) | 便携式电子设备屏幕驱动程序自适应方法及该电子设备 | |
CN110289039B (zh) | 一种eMMC的调试方法和装置 | |
CN101739322B (zh) | 嵌入式系统的测试装置及方法 | |
CN103677812A (zh) | 一种硬件设备状态自适应的方法及装置 | |
CN103197945A (zh) | 电视电脑一体机的个性化内容加载方法及装置 | |
CN104699516A (zh) | Windows下自动识别安卓手机并安装驱动的方法和装置 | |
CN106843947A (zh) | 代码缺陷的处理方法和装置 | |
CN111070662A (zh) | 一种3d打印方法、设备及存储介质 | |
CN113010188B (zh) | 模块化测控系统生成方法、装置、计算机设备及存储器 | |
CN110515635A (zh) | 主板vr固件升级方法、装置、服务器及可读存储介质 | |
CN205281471U (zh) | 一种打印终端和系统 | |
CN111190621A (zh) | 固件烧录方法、装置、系统、终端设备及存储介质 | |
US20130036411A1 (en) | Software Update Method for Display Device | |
CN109144586A (zh) | 一种驱动适配方法、装置、计算机设备及存储介质 | |
CN107423075A (zh) | 驱动的注册方法以及用户终端 | |
CN113806252A (zh) | 板卡识别方法、计算机、装置、终端设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170707 |