CN112214249A - 一种基于usb设备的跨平台自启动程序的方法 - Google Patents
一种基于usb设备的跨平台自启动程序的方法 Download PDFInfo
- Publication number
- CN112214249A CN112214249A CN202010911148.6A CN202010911148A CN112214249A CN 112214249 A CN112214249 A CN 112214249A CN 202010911148 A CN202010911148 A CN 202010911148A CN 112214249 A CN112214249 A CN 112214249A
- Authority
- CN
- China
- Prior art keywords
- program
- starting
- self
- target
- usb
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种基于USB设备的跨平台自启动程序的方法,所述方法包括:将存储有目标程序的USB设备插入计算机,运行目标程序时,目标程序将自启程序存储至计算机的磁盘中,并将所述自启程序设置为开机自启动;在计算机重新启动进入操作系统后,自动运行所述自启程序;自启程序运行时,将监听计算机USB接口状态,当监听到有USB设备插入计算机时,判断所述USB设备是否为目标设备,若是,则自动运行所述目标程序。本申请实例提供的一种基于USB设备的跨平台自启动程序的方法,可以在自启程序支持的计算机操作系统下,实现USB设备插入后自动执行设备内的目标程序。
Description
技术领域
本发明涉及嵌入式设备领域、计算机应用软件领域,具体涉及一种基于USB设备的跨平台自启动程序的方法。
背景技术
现有的部分USB设备自启模式无法支持跨平台,大部分仅支持Windows或Mac的其中一个操作系统,适用性不高。主流操作系统Windows、Mac、Linux由于系统安全性的原因,现在均已经不再支持通过在USB设备内添加配置的方式,实现插入设备直接启动内置程序,仅能通过手动打开设备内的程序;这对于部分需要即插即用的设备限制了其使用的方便性和灵活性。
发明内容
本发明要解决的技术问题,在于提供一种基于USB设备的跨平台自启动程序的方法,实现在自启程序支持的计算机操作系统下,USB设备插入后自动执行设备内的目标程序。
为了解决上述技术问题,本发明是这样实现的:
本发明提供了一种基于USB设备的跨平台自启动程序的方法,包括:
步骤10、当存储有目标程序的USB设备,首次插入计算机时,运行所述目标程序;
步骤20、所述目标程序将自启程序存储至计算机磁盘,并修改所述自启程序权限为开机自启动;
步骤30、在计算机重新启动进入操作系统后,自动运行所述自启程序;
步骤40、所述自启程序运行时,对计算机USB接口进行监听,当监听到有USB设备插入计算机时,判断所述USB设备是否为目标设备,若是,则运行所述目标程序并进入步骤50,若否,则继续监听;
步骤50、目标程序运行时,自启程序后台监听所述目标设备是否被弹出,若是,则返回步骤40,若否,则继续监听。
进一步地,所述操作系统为Windows、Mac或Linux系统。
进一步地,所述方法还包括:
在所述目标程序运行后,对自启程序进行更新。
进一步地,所述步骤40中,判断所述USB设备是否为目标设备进一步具体为:在USB设备盘符的根目录中,查找是否存在目标程序,且校验目标程序是否合法。
进一步地,所述步骤40中,判断所述USB设备是否为目标设备还包括:对USB设备的PID和VID进行校验。
本发明实施例中提供的技术方案,至少具有如下技术效果或优点:
1、在自启程序支持的操作系统下,只需通过调用和部署自启程序后,即可实现在目标计算机进行自启和监听工作,实现USB设备插入后即可自动执行设备内的目标程序,满足在生产和实际应用中,对于即插即用类型的嵌入式设备需要多次重复运行设备内程序的操作需要;
2、自启程序本身可以独立于目标程序工作,支持对任意嵌入式USB设备进行跨平台的插入监听自启,部署自启服务和监听工作无需目标程序协助,在简单的处理流程和较低的系统开销下实现了USB设备插入后自动执行设备内程序,且具有持久化和稳定性两个特点;
3、在目标程序的协助下还可以进行自启程序更新或定制化的维护功能。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明实施例方法的流程图;
图2为本发明实施例的部署框架图;
图3为本发明实施例的监听并启动目标程序的流程示意图。
具体实施方式
本申请实施例通过提供一种基于USB设备的跨平台自启动程序的方法,实现在自启程序支持的任意操作系统下,USB设备插入后自动执行设备内的目标程序。
本申请实施例中的技术方案,总体思路如下:
自启程序通过操作系统开机启动配置,实现开机自启动,自启程序实现对需要即插即用的目标USB设备插入计算机后,自动运行目标程序以达到插入设备自启程序的效果,适用于需要多次重复启动设备内程序的需求。基于USB设备的跨平台自动启动程序,主要包括操作系统绑定自启程序开机启动,和自启程序监听设备并启动目标程序两个步骤。自启程序通过监听USB接口的方式,检测目标USB设备是否插入。仅需要首次插入设备,手动启动目标程序进行自启动程序的部署、配置,在部署成功后续插入设备均可实现自动启动USB设备内的目标程序。
本实施例提供一种基于USB设备的跨平台自启动程序的方法,如图1至图3所示,可以包括如下步骤;
步骤10、当存储有目标程序的USB设备,首次插入计算机时,运行所述目标程序;
步骤20、所述目标程序将自启程序存储至计算机磁盘,并修改所述自启程序权限为开机自启动;
步骤30、在计算机重新启动进入操作系统后,自动运行所述自启程序;所述操作系统可以为Windows、Mac或Linux系统或其它自启程序支持的操作系统;
步骤40、所述自启程序运行时,对计算机USB接口进行监听,当监听到有USB设备插入计算机时,判断所述USB设备是否为目标设备,若是,则运行所述目标程序并进入步骤50,若否,则继续监听;
自启程序中设置有对目标程序的判断依据,从而实现监听并启动目标程序,实现USB设备插入系统后目标程序的自启动。
判断所述USB设备是否为目标设备可以进一步具体为:在USB设备盘符的根目录中,查找是否存在目标程序,且校验目标程序是否合法。可以通过在USB设备盘符的根目录中,查找是否存在与目标程序文件名一致的程序,判断在USB设备内是否有目标程序,实现较为简便,且任意一个装有目标程序的USB设备均可以在部署好脚本文件的操作系统中实现自启动,无需重复执行安装操作;同时,通过校验目标程序是否合法(比如,对目标程序进行MD5校验),避免对非法程序实行自启动,保障操作系统安全。
判断所述USB设备是否为目标USB设备,还可以进一步包括:对USB设备的PID和VID进行校验(VID为VenderID,即供应商识别码;PID为ProductID,即产品识别码)。
当执行“查找是否存在目标程序且校验目标程序是否合法+对USB设备的PID和VID进行校验”校验规则时,实现对指定USB设备内的目标程序执行自启动,当其它USB设备(USB设备的PID和VID与指定USB设备不一致)也装有目标程序时,不会执行自启动;
步骤50、目标程序运行时,自启程序后台监听所述目标设备是否被弹出,若是,则返回步骤40,若否,则继续监听。
为了避免重复启动目标程序,自启程序在启动目标程序后,开始持续监听USB设备是否被弹出,在设备被弹出之前不会再次自启动目标程序;USB设备被弹出后返回步骤40,以便在目标USB设备再次插入后启动目标程序。
首次插入USB设备时,需要手动启动USB设备内的目标程序,进行初始化的部署自启程序,将自启程序复制到用户计算机磁盘中,并进行提权操作写入注册表或属性表自启,然后操作系统会自动运行自启程序开始监听工作,并在重启计算机后继续运行自启程序。自启程序通过监听USB接口的方式检测目标USB设备是否插入,在部署成功后续插入USB设备,均可实现自动启动USB设备内的目标程序。目标程序与自启程序相互联系,在首次运行目标程序时,目标程序实现对自启程序的调用,自启程序运行部署完成后,可独立运行,实现对目标程序的监听和启动。目标程序支持定制化,还可以协助自启程序进行初始化部署和重部署。
在另一种可能的实现方式中,所述方法还包括:
在所述目标程序运行后,对自启程序进行更新。
当需要对已经部署在操作系统中的自启程序的进行更新时(比如,修改自启脚本对目标程序的判断标准),可以通过修改目标程序,然后在目标程序自动运行后对自启程序进行更新。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:在自启程序支持的操作系统下,只需通过调用和部署自启程序后,即可实现在目标计算机进行自启和监听工作,实现USB设备插入后即可自动执行设备内的目标程序,满足在生产和实际应用中,对于即插即用类型的嵌入式设备需要多次重复运行设备内程序的操作需要;自启程序本身可以独立于目标程序工作,支持对任意嵌入式USB设备进行跨平台的插入监听自启,部署自启服务和监听工作无需目标程序协助,在简单的处理流程和较低的系统开销下实现了USB设备插入后自动执行设备内程序,且具有持久化和稳定性两个特点;在目标程序的协助下还可以进行自启程序更新功能。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (5)
1.一种基于USB设备的跨平台自启动程序的方法,其特征在于:包括:
步骤10、当存储有目标程序的USB设备,首次插入计算机时,运行所述目标程序;
步骤20、所述目标程序将自启程序存储至计算机磁盘,并修改所述自启程序权限为开机自启动;
步骤30、在计算机重新启动进入操作系统后,自动运行所述自启程序;
步骤40、所述自启程序运行时,对计算机USB接口进行监听,当监听到有USB设备插入计算机时,判断所述USB设备是否为目标设备,若是,则运行所述目标程序并进入步骤50,若否,则继续监听;
步骤50、目标程序运行时,自启程序后台监听所述目标设备是否被弹出,若是,则返回步骤40,若否,则继续监听。
2.根据权利要求1所述的方法,其特征在于:所述操作系统为Windows、Mac或Linux系统。
3.根据权利要求1所述的一种基于USB设备的跨平台自启动程序的方法,其特征在于:还包括:
在所述目标程序运行后,对自启程序进行更新。
4.根据权利要求1所述的一种基于USB设备的跨平台自启动程序的方法,其特征在于:所述步骤40中,判断所述USB设备是否为目标设备进一步具体为:在USB设备盘符的根目录中,查找是否存在目标程序,且校验目标程序是否合法。
5.根据权利要求4所述的一种基于USB设备的跨平台自启动程序的方法,其特征在于:所述步骤40中,判断所述USB设备是否为目标设备还包括:对USB设备的PID和VID进行校验。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010911148.6A CN112214249B (zh) | 2020-09-02 | 2020-09-02 | 一种基于usb设备的跨平台自启动程序的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010911148.6A CN112214249B (zh) | 2020-09-02 | 2020-09-02 | 一种基于usb设备的跨平台自启动程序的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112214249A true CN112214249A (zh) | 2021-01-12 |
CN112214249B CN112214249B (zh) | 2022-10-14 |
Family
ID=74048901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010911148.6A Active CN112214249B (zh) | 2020-09-02 | 2020-09-02 | 一种基于usb设备的跨平台自启动程序的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112214249B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114637544A (zh) * | 2022-05-18 | 2022-06-17 | 深圳市华曦达科技股份有限公司 | 一种智能终端启动控制方法、装置及启动切换装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050038934A1 (en) * | 2003-08-11 | 2005-02-17 | Infineon Technologies Ag | USB-based peripheral device and method for starting up the USB-based peripheral device |
CN101763322A (zh) * | 2009-12-28 | 2010-06-30 | 太仓市同维电子有限公司 | Windows平台上自动弹出指定光驱设备的方法 |
US20120102238A1 (en) * | 2009-07-10 | 2012-04-26 | Zte Corporation | Auto Start Method and System of Universal Serial Bus Data Card |
CN103294591A (zh) * | 2012-03-05 | 2013-09-11 | 中国人民解放军91655部队 | 一种移动存储设备交叉使用的检测方法 |
CN107943725A (zh) * | 2017-12-20 | 2018-04-20 | 杭州楷知科技有限公司 | 一种实现usb设备内程序运行的方法及设备 |
-
2020
- 2020-09-02 CN CN202010911148.6A patent/CN112214249B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050038934A1 (en) * | 2003-08-11 | 2005-02-17 | Infineon Technologies Ag | USB-based peripheral device and method for starting up the USB-based peripheral device |
US20120102238A1 (en) * | 2009-07-10 | 2012-04-26 | Zte Corporation | Auto Start Method and System of Universal Serial Bus Data Card |
CN101763322A (zh) * | 2009-12-28 | 2010-06-30 | 太仓市同维电子有限公司 | Windows平台上自动弹出指定光驱设备的方法 |
CN103294591A (zh) * | 2012-03-05 | 2013-09-11 | 中国人民解放军91655部队 | 一种移动存储设备交叉使用的检测方法 |
CN107943725A (zh) * | 2017-12-20 | 2018-04-20 | 杭州楷知科技有限公司 | 一种实现usb设备内程序运行的方法及设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114637544A (zh) * | 2022-05-18 | 2022-06-17 | 深圳市华曦达科技股份有限公司 | 一种智能终端启动控制方法、装置及启动切换装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112214249B (zh) | 2022-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10162625B2 (en) | Vehicle control storage methods and systems | |
US5444850A (en) | Method and apparatus for controlling network and workstation access prior to workstation boot | |
CN105786538B (zh) | 基于安卓系统的软件升级方法和装置 | |
US8489922B2 (en) | Networked recovery system | |
US20100132042A1 (en) | Method for upgrading antivirus software and terminal and system thereof | |
CN102262574A (zh) | 操作系统启动保护方法和装置 | |
CA2508875A1 (en) | System and apparatus for eliminating user interaction during hardware configuration at system boot | |
CN108874437B (zh) | 一种android应用程序的在线云更新方法 | |
WO2016062146A1 (zh) | 序列号信息的更新方法、装置及终端 | |
CN103970564A (zh) | 嵌入式操作系统自动修复升级功能的方法及其系统 | |
WO2018024198A1 (zh) | 机顶盒的应用程序升级方法、系统及机顶盒 | |
US20180052679A1 (en) | Method of Bootup and Installation, and Computer System thereof | |
WO2020029967A1 (zh) | 一种操作系统故障的修复方法和装置 | |
CN106210877A (zh) | 智能电视的系统升级方法及装置 | |
US9195832B1 (en) | System and method for providing access to original routines of boot drivers | |
CN112214249B (zh) | 一种基于usb设备的跨平台自启动程序的方法 | |
CN108958785B (zh) | 一种应用程序升级方法及装置 | |
CN111638916A (zh) | 一种用于数据取证的通用安卓移动终端驱动系统及方法 | |
CN103309769B (zh) | 操作系统启动保护方法和装置 | |
US20110185353A1 (en) | Mitigating Problems Arising From Incompatible Software | |
US8819299B1 (en) | Method for creation of a device driver for a peripheral device | |
CN114282205A (zh) | 固件启动方法及装置、计算机可读存储介质 | |
CN110659052B (zh) | 网络设备中系统软件的更新方法、系统及可读存储介质 | |
TWI743780B (zh) | 應用程式存在之監視及重新安裝技術 | |
CN107391166B (zh) | Android应用的安装方法及系统、计算机装置和可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |