專利名稱:對(duì)usb存儲(chǔ)器中自動(dòng)運(yùn)行程序進(jìn)行控制的方法及usb存儲(chǔ)器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及移動(dòng)存儲(chǔ)技術(shù)領(lǐng)域,特別是指一種對(duì)USB存儲(chǔ)器中自動(dòng)運(yùn)行程序進(jìn)行控制的方法及一種USB存儲(chǔ)器。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù)的發(fā)展,幾乎所有的電腦都安裝了通用串行總線(USB)接口,而USB存儲(chǔ)器就是利用了USB接口與計(jì)算機(jī)相連的一種存儲(chǔ)設(shè)備。USB存儲(chǔ)器也稱魔盤、U盤、優(yōu)盤和閃存盤等,是目前一種非常普遍的移動(dòng)存儲(chǔ)設(shè)備,其不僅容量遠(yuǎn)遠(yuǎn)大于傳統(tǒng)的1.44M容量的軟盤,使用次數(shù)、時(shí)間和存儲(chǔ)速度也都遠(yuǎn)遠(yuǎn)超過傳統(tǒng)的1.44M容量的軟盤。由于USB存儲(chǔ)器使用USB接口與計(jì)算機(jī)相連,且USB具有熱拔插功能,即計(jì)算機(jī)通過USB接口與其他設(shè)備進(jìn)行連接不需要額外的驅(qū)動(dòng)器,即插即用,使用方便。
現(xiàn)有的USB存儲(chǔ)器中提供了一種能夠自動(dòng)運(yùn)行某些指定程序的技術(shù),該技術(shù)通過將USB存儲(chǔ)器虛擬成光驅(qū),然后運(yùn)行USB存儲(chǔ)器中自動(dòng)運(yùn)行文件(Autorun.inf)中指定的程序。通過這種技術(shù),在USB存儲(chǔ)器插入計(jì)算機(jī)后,可以自動(dòng)播放一段廣告或運(yùn)行某個(gè)指定的程序,這種技術(shù)豐富了USB存儲(chǔ)器的應(yīng)用前景。例如,可以把贈(zèng)送給用戶的殺毒軟件或其他程序作為自動(dòng)運(yùn)行的程序,提高了對(duì)客戶的吸引力,也增加了廠商的競爭力。
實(shí)現(xiàn)上述技術(shù)的USB存儲(chǔ)器結(jié)構(gòu)如圖1所示,USB存儲(chǔ)器包括存儲(chǔ)區(qū)101、USB接口102和控制器103。其中,存儲(chǔ)區(qū)101可以是包括閃存(Flash)在內(nèi)的一切可能的存儲(chǔ)媒介,用于存儲(chǔ)數(shù)據(jù)和自動(dòng)運(yùn)行程序等,USB接口102用于USB存儲(chǔ)器與計(jì)算機(jī)進(jìn)行通信;控制器103用于通過USB接口102與計(jì)算機(jī)進(jìn)行通信,對(duì)存儲(chǔ)區(qū)101執(zhí)行讀寫操作,并執(zhí)行存儲(chǔ)區(qū)中的自動(dòng)運(yùn)行程序。此外,控制器103中包括相當(dāng)于計(jì)算機(jī)中操作系統(tǒng)的固件(Firmware),而在固件中包括了USB存儲(chǔ)器的設(shè)備描述符等配置信息。
以下再對(duì)實(shí)現(xiàn)這種自動(dòng)運(yùn)行技術(shù)的方法進(jìn)行說明。
預(yù)先在USB存儲(chǔ)器的設(shè)備描述符中將USB存儲(chǔ)器設(shè)置為支持自動(dòng)運(yùn)行(Autorun)功能的驅(qū)動(dòng)器。支持自動(dòng)運(yùn)行功能即能夠運(yùn)行Autorun.inf文件中的自動(dòng)運(yùn)行程序,支持自動(dòng)運(yùn)行功能的驅(qū)動(dòng)器通常是光驅(qū)。此外,還預(yù)先將USB存儲(chǔ)器的存儲(chǔ)區(qū)劃分成兩個(gè)分區(qū),如圖2所示。其中,一個(gè)分區(qū)201中存儲(chǔ)Autorun.inf文件和自動(dòng)運(yùn)行程序,另一個(gè)分區(qū)202為普通的存儲(chǔ)區(qū)。對(duì)用戶而言,只有分區(qū)202可見,可以對(duì)該區(qū)進(jìn)行讀寫操作,而分區(qū)201是不可見的,用戶也不能夠?qū)ζ渲谐绦蚴欠襁\(yùn)行進(jìn)行控制。
現(xiàn)有技術(shù)中,執(zhí)行USB移動(dòng)存儲(chǔ)器中自動(dòng)運(yùn)行程序的流程如圖3所示,具體步驟如下步驟301、USB存儲(chǔ)器插入計(jì)算機(jī)后,操作系統(tǒng)開始為USB存儲(chǔ)器配置驅(qū)動(dòng)程序,在配置驅(qū)動(dòng)過程中,從USB存儲(chǔ)器控制器的固件中讀取配置信息;配置信息中包括USB存儲(chǔ)器的驅(qū)動(dòng)器類型;步驟302、操作系統(tǒng)得到USB存儲(chǔ)器的配置信息,判斷出其中的驅(qū)動(dòng)器類型支持Autorun功能后,運(yùn)行USB存儲(chǔ)器中Autorun.inf文件指定的程序。
從以上技術(shù)方案可以看出,當(dāng)USB存儲(chǔ)器插入到計(jì)算機(jī)中后,就會(huì)自動(dòng)運(yùn)行Autorun.inf文件中指定的程序,這種方式是自動(dòng)的,無法進(jìn)行控制。但是有些時(shí)候,用戶不需要這些程序的自動(dòng)運(yùn)行,也不希望運(yùn)行這些程序來浪費(fèi)自己的時(shí)間,只需要執(zhí)行USB存儲(chǔ)器的存儲(chǔ)功能。在這種情況下,由于不能夠?qū)utorun.inf文件中程序的運(yùn)行進(jìn)行控制,無法實(shí)現(xiàn)不執(zhí)行這些程序的需求,給用戶造成了麻煩和時(shí)間的浪費(fèi),降低了對(duì)用戶的吸引力。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的第一個(gè)主要目的在于提供一種對(duì)USB存儲(chǔ)器中自動(dòng)運(yùn)行程序進(jìn)行控制的方法,該方法能夠?qū)崿F(xiàn)用戶對(duì)自動(dòng)運(yùn)行程序的控制。
本發(fā)明的第二個(gè)主要目的在于提供一種USB存儲(chǔ)器,該USB存儲(chǔ)器能夠?qū)崿F(xiàn)用戶對(duì)自動(dòng)運(yùn)行程序的控制。
為達(dá)到上述目的的第一個(gè)方面,本發(fā)明提供了一種對(duì)USB存儲(chǔ)器中自動(dòng)運(yùn)行程序進(jìn)行控制的方法,該方法在USB存儲(chǔ)器上設(shè)置一個(gè)用于對(duì)自動(dòng)運(yùn)行程序進(jìn)行控制的開關(guān);該方法還包括A、USB存儲(chǔ)器插入計(jì)算機(jī)后,判斷自動(dòng)運(yùn)行程序控制開關(guān)是否為執(zhí)行自動(dòng)運(yùn)行程序,如果是執(zhí)行步驟B;否則直接結(jié)束本流程;B、操作系統(tǒng)執(zhí)行USB存儲(chǔ)器中的自動(dòng)運(yùn)行程序。
較佳地,所述判斷自動(dòng)運(yùn)行程序控制開關(guān)是否為執(zhí)行自動(dòng)運(yùn)行程序后,進(jìn)一步包括A11、如果該開關(guān)為執(zhí)行自動(dòng)運(yùn)行程序,USB存儲(chǔ)器將自己的驅(qū)動(dòng)器類型設(shè)置為支持自動(dòng)運(yùn)行功能的驅(qū)動(dòng)器類型,然后執(zhí)行步驟A12;否則,USB存儲(chǔ)器將自己的驅(qū)動(dòng)器類型設(shè)置為不支持自動(dòng)運(yùn)行功能的驅(qū)動(dòng)器類型,然后執(zhí)行步驟A12;A12、操作系統(tǒng)讀取USB存儲(chǔ)器中的配置信息,判斷其中的驅(qū)動(dòng)器類型是否為支持自動(dòng)運(yùn)行功能的驅(qū)動(dòng)器類型;所述步驟B為操作系統(tǒng)根據(jù)驅(qū)動(dòng)器類型是否為支持自動(dòng)運(yùn)行功能的驅(qū)動(dòng)器類型來執(zhí)行USB存儲(chǔ)器中的自動(dòng)運(yùn)行程序。
較佳地,所述不支持自動(dòng)運(yùn)行功能的驅(qū)動(dòng)器類型為可移動(dòng)磁盤。
較佳地,所述步驟A之前進(jìn)一步包括預(yù)先在USB存儲(chǔ)器中設(shè)置自動(dòng)運(yùn)行標(biāo)志位;步驟A中所述USB存儲(chǔ)器插入計(jì)算機(jī)后,判斷自動(dòng)運(yùn)行程序控制開關(guān)是否為執(zhí)行自動(dòng)運(yùn)行程序后,進(jìn)一步包括如果自動(dòng)運(yùn)行控制開關(guān)為執(zhí)行自動(dòng)運(yùn)行程序,USB存儲(chǔ)器將自動(dòng)運(yùn)行標(biāo)志位設(shè)置為執(zhí)行自動(dòng)運(yùn)行程序;否則,USB存儲(chǔ)器將自動(dòng)運(yùn)行標(biāo)志位設(shè)置為不執(zhí)行自動(dòng)運(yùn)行程序;操作系統(tǒng)判斷自動(dòng)運(yùn)行標(biāo)志位是否為執(zhí)行自動(dòng)運(yùn)行程序;所述步驟B為操作系統(tǒng)根據(jù)自動(dòng)運(yùn)行標(biāo)志位是否為執(zhí)行自動(dòng)運(yùn)行程序來執(zhí)行自動(dòng)運(yùn)行程序。
較佳地,所述步驟A之前進(jìn)一步包括預(yù)先設(shè)置USB存儲(chǔ)器的驅(qū)動(dòng)器類型為支持自動(dòng)運(yùn)行功能的驅(qū)動(dòng)器類型;所述的在USB存儲(chǔ)器中設(shè)置自動(dòng)運(yùn)行標(biāo)志位為在USB存儲(chǔ)器中的自動(dòng)運(yùn)行文件中設(shè)置自動(dòng)運(yùn)行標(biāo)志位;所述操作系統(tǒng)判斷自動(dòng)運(yùn)行標(biāo)志位是否為執(zhí)行自動(dòng)運(yùn)行程序的方法為操作系統(tǒng)執(zhí)行讀取USB存儲(chǔ)器中的配置信息,判斷出USB存儲(chǔ)器的驅(qū)動(dòng)器類型為支持自動(dòng)運(yùn)行功能的驅(qū)動(dòng)器類型后,讀取自動(dòng)運(yùn)行文件中的自動(dòng)運(yùn)行標(biāo)志位,判斷該標(biāo)志位是否為執(zhí)行自動(dòng)運(yùn)行程序。
較佳地,所述的支持自動(dòng)運(yùn)行功能的驅(qū)動(dòng)器類型為光驅(qū)。
較佳地,所述判斷出驅(qū)動(dòng)器類型為支持自動(dòng)運(yùn)行功能的驅(qū)動(dòng)器類型后,進(jìn)一步包括操作系統(tǒng)判斷USB存儲(chǔ)器中是否有自動(dòng)運(yùn)行文件,如果有該文件,執(zhí)行后續(xù)步驟;否則,直接結(jié)束本流程;步驟B中所述的自動(dòng)運(yùn)行程序?yàn)樽詣?dòng)運(yùn)行文件中指定的程序。
較佳地,USB存儲(chǔ)器控制器通過管腳與自動(dòng)運(yùn)行程序控制開關(guān)相連;所述判斷自動(dòng)運(yùn)行程序控制開關(guān)是否為執(zhí)行自動(dòng)運(yùn)行程序的方法為控制器判斷與自動(dòng)運(yùn)行程序控制開關(guān)相連的管腳電位是否為指示執(zhí)行自動(dòng)運(yùn)行程序。
為達(dá)到上述目的的第二個(gè)方面,本發(fā)明提供了一種USB存儲(chǔ)器,該USB存儲(chǔ)器至少包括存儲(chǔ)區(qū)(101),用于存儲(chǔ)數(shù)據(jù)和自動(dòng)運(yùn)行程序;
USB接口(102),用于USB存儲(chǔ)器與計(jì)算機(jī)進(jìn)行連接;控制器(103),用于通過USB接口(102)與計(jì)算機(jī)通信,對(duì)存儲(chǔ)區(qū)(101)執(zhí)行讀寫操作,并執(zhí)行存儲(chǔ)區(qū)(101)中的自動(dòng)運(yùn)行程序;其特征在于,該USB存儲(chǔ)器還包括自動(dòng)運(yùn)行程序控制開關(guān)(502),用于對(duì)自動(dòng)運(yùn)行程序進(jìn)行控制;其中,自動(dòng)運(yùn)行程序控制開關(guān)連接到控制器(103),控制器(103)獲得自動(dòng)運(yùn)行程序控制開關(guān)(502)的狀態(tài)后,根據(jù)所獲得的狀態(tài)設(shè)定執(zhí)行或不執(zhí)行自動(dòng)運(yùn)行程序。
較佳地,自動(dòng)運(yùn)行程序控制開關(guān)(502)通過控制器管腳(A_IO)連接到控制器(103)上。
較佳地,該USB存儲(chǔ)器進(jìn)一步包括電阻(R),其一端連接到電源正極,另一端連接到自動(dòng)運(yùn)行程序控制開關(guān)(502)和控制器(103)的連接處;電容(C),其一端與地連接,另一端連接到自動(dòng)運(yùn)行程序控制開關(guān)(502)和控制器(103)的連接處。
從以上技術(shù)方案可以看出,本發(fā)明中,通過在USB存儲(chǔ)器中設(shè)置用戶能夠控制的開關(guān),并將該開關(guān)與控制器相連接,從而控制器能夠根據(jù)開關(guān)狀態(tài)設(shè)定是否執(zhí)行自動(dòng)運(yùn)行程序,實(shí)現(xiàn)了用戶對(duì)自動(dòng)運(yùn)行程序的控制,為用戶帶來了便利,增加了對(duì)用戶的吸引力;另外,本發(fā)明中在開關(guān)與控制器的連接處通過一個(gè)電阻與電源正極相連,通過一個(gè)電容與地相連,對(duì)控制器進(jìn)行了保護(hù),提高了USB存儲(chǔ)器的壽命。
本發(fā)明對(duì)USB存儲(chǔ)器中自動(dòng)運(yùn)行程序進(jìn)行控制的方法,通過在USB存儲(chǔ)器插入計(jì)算機(jī)后,對(duì)自動(dòng)運(yùn)行程序控制開關(guān)的狀態(tài)進(jìn)行判斷,從而決定操作系統(tǒng)是否執(zhí)行自動(dòng)運(yùn)行程序,實(shí)現(xiàn)了用戶對(duì)自動(dòng)運(yùn)行程序的控制;進(jìn)而,本發(fā)明方法還通過在執(zhí)行自動(dòng)運(yùn)行程序前,對(duì)USB存儲(chǔ)器中是否有Autorun.inf文件進(jìn)行判斷,避免了在操作系統(tǒng)判斷出執(zhí)行自動(dòng)運(yùn)行程序后,卻找不到自動(dòng)運(yùn)行程序,減少了系統(tǒng)錯(cuò)誤。
圖1為現(xiàn)有技術(shù)中的USB存儲(chǔ)器內(nèi)部結(jié)構(gòu)圖;圖2為USB存儲(chǔ)器中存儲(chǔ)區(qū)結(jié)構(gòu)圖;圖3為現(xiàn)有技術(shù)中執(zhí)行USB存儲(chǔ)器中自動(dòng)運(yùn)行程序的流程圖;圖4為本發(fā)明方法的總體流程圖;圖5為本發(fā)明中USB存儲(chǔ)器外部結(jié)構(gòu)圖;圖6為本發(fā)明中USB存儲(chǔ)器的內(nèi)部結(jié)構(gòu)圖;圖7為本發(fā)明方法第一實(shí)施例的流程圖;圖8為本發(fā)明方法第二實(shí)施例的流程圖。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步的詳細(xì)描述。
本發(fā)明的主要思想在于,在USB存儲(chǔ)器外部設(shè)置一個(gè)自動(dòng)運(yùn)行程序控制開關(guān),在USB存儲(chǔ)器插入計(jì)算機(jī)后,通過檢測開關(guān)狀態(tài)并根據(jù)開關(guān)狀態(tài)執(zhí)行或不執(zhí)行自動(dòng)運(yùn)行程序,實(shí)現(xiàn)了對(duì)自動(dòng)運(yùn)行程序的控制。
本發(fā)明方法的總體流程如圖4所示,具體步驟如下步驟401、USB存儲(chǔ)器插入計(jì)算機(jī)后,判斷自動(dòng)運(yùn)行程序控制開關(guān)是否為執(zhí)行自動(dòng)運(yùn)行程序,如果是執(zhí)行步驟402;否則直接結(jié)束本流程;步驟402、操作系統(tǒng)運(yùn)行USB存儲(chǔ)器中的自動(dòng)運(yùn)行程序。
以下對(duì)本發(fā)明的具體實(shí)施例進(jìn)行詳細(xì)說明。
在本發(fā)明的第一實(shí)施例中,在USB存儲(chǔ)器501外部設(shè)置一個(gè)用戶可以控制的開關(guān)502,如圖5所示。該開關(guān)在USB存儲(chǔ)器內(nèi)部一端接地,一端與控制器103的一個(gè)管腳A_IO相連,如圖6所示,另外,為了對(duì)USB存儲(chǔ)器的控制器103進(jìn)行保護(hù),開關(guān)502與管腳A_IO連接處通過一個(gè)電阻R與電源正極V+相連,通過一個(gè)電容C與地相連。在USB存儲(chǔ)器插入到計(jì)算機(jī)中后,檢測控制器103中與開關(guān)502相連的管腳A_IO電位,然后根據(jù)該電位高低,來設(shè)置USB存儲(chǔ)器的驅(qū)動(dòng)器類型,驅(qū)動(dòng)器類型決定了USB存儲(chǔ)器是否支持Autorun功能,操作系統(tǒng)根據(jù)讀取包括驅(qū)動(dòng)器類型的設(shè)備信息后,根據(jù)驅(qū)動(dòng)器類型決定是否運(yùn)行Autorun.inf文件中指定的自動(dòng)運(yùn)行程序。這樣,用戶就能夠通過設(shè)置該開關(guān)的開關(guān)狀態(tài),實(shí)現(xiàn)對(duì)自動(dòng)運(yùn)行程序的控制。
此外,本實(shí)施例中也將USB存儲(chǔ)器的存儲(chǔ)空間劃分為兩個(gè)區(qū)域,如圖2所示,一個(gè)分區(qū)201,假設(shè)為D區(qū),對(duì)用戶是不可見的,用于存儲(chǔ)Autorun.inf文件及其中的指定的自動(dòng)運(yùn)行程序等;另一個(gè)分區(qū)202,假設(shè)為E區(qū),對(duì)用戶是可見的,是正常的存儲(chǔ)區(qū)。
在USB存儲(chǔ)器的使用過程中,本實(shí)施例的流程如圖7所示,具體步驟如下步驟701、USB存儲(chǔ)器插入計(jì)算機(jī)后,USB存儲(chǔ)器判斷與上述開關(guān)相連的管腳電位對(duì)應(yīng)的開關(guān)狀態(tài)是否為開,如果開關(guān)狀態(tài)為開,執(zhí)行步驟702;否則執(zhí)行步驟703;通常情況下,用戶會(huì)認(rèn)為開關(guān)在開的狀態(tài)下為執(zhí)行自動(dòng)運(yùn)行程序,而處于關(guān)的狀態(tài)下為不執(zhí)行自動(dòng)運(yùn)行程序,所以在本實(shí)施例中設(shè)置開關(guān)在開的狀態(tài)下為執(zhí)行自動(dòng)運(yùn)行程序;當(dāng)然,也可以設(shè)置為開關(guān)在關(guān)的狀態(tài)下為執(zhí)行自動(dòng)運(yùn)行程序,而在開的狀態(tài)下為不執(zhí)行自動(dòng)運(yùn)行程序;而管腳電位與開關(guān)狀態(tài)的對(duì)應(yīng)關(guān)系,可以為高電位對(duì)應(yīng)開,低電位對(duì)應(yīng)關(guān),也可以為高電位對(duì)應(yīng)關(guān),低電位對(duì)應(yīng)開;步驟702、將設(shè)備描述符中的驅(qū)動(dòng)器類型設(shè)置為支持Autorun功能的驅(qū)動(dòng)器類型,然后執(zhí)行步驟704;這里,設(shè)置的驅(qū)動(dòng)器類型主要是對(duì)D區(qū)而言,因?yàn)椴僮飨到y(tǒng)是否運(yùn)行Autorun.inf文件中指定的程序,只是與D區(qū)有關(guān),與E區(qū)沒有關(guān)系;此外,支持Autorun功能的驅(qū)動(dòng)器類型通常為光驅(qū)(CD-ROM),當(dāng)然也可以是其他支持Autorun功能的驅(qū)動(dòng)器類型,如本地磁盤等;步驟703、將設(shè)備描述符中對(duì)應(yīng)的驅(qū)動(dòng)器類型設(shè)置為不支持Autorun功能的驅(qū)動(dòng)器類型,然后執(zhí)行步驟704;與步驟702中相同,這里也是指設(shè)置D區(qū)的驅(qū)動(dòng)器類型,本步驟中通常將D區(qū)的驅(qū)動(dòng)器類型設(shè)置為可移動(dòng)磁盤;步驟704、操作系統(tǒng)讀取Firmware中的配置信息;在操作系統(tǒng)檢測到新的硬件后,需要獲取設(shè)備的類型以及狀態(tài)等信息,以決定為USB存儲(chǔ)器安裝何種驅(qū)動(dòng)程序,獲取設(shè)備的類型以及狀態(tài)就是通過讀取Controller的Firmware中設(shè)備描述符等配置信息來實(shí)現(xiàn);步驟705、操作系統(tǒng)讀取USB存儲(chǔ)器的配置信息后,判斷配置信息中的驅(qū)動(dòng)器類型是否是支持Autorun功能的驅(qū)動(dòng)器類型,如果是支持Autorun功能的驅(qū)動(dòng)器類型,執(zhí)行步驟706;否則直接結(jié)束本流程;由于通常USB存儲(chǔ)器會(huì)把需要支持Autorun功能時(shí)的驅(qū)動(dòng)器類型設(shè)置為光驅(qū)(CD-ROM),在本步驟中,當(dāng)操作系統(tǒng)判斷出USB存儲(chǔ)器的驅(qū)動(dòng)器類型為光驅(qū)時(shí),就會(huì)認(rèn)為該USB存儲(chǔ)器的驅(qū)動(dòng)器類型為支持Autorun功能的驅(qū)動(dòng)器類型;步驟706、操作系統(tǒng)檢查USB存儲(chǔ)器中是否有Autorun.inf文件,如果有該文件,執(zhí)行步驟707;否則直接結(jié)束本流程;即使USB存儲(chǔ)器的驅(qū)動(dòng)器類型支持Autorun功能,也有可能其中沒有Autorun.inf文件的情況出現(xiàn),如果沒有本步驟,就有可能在USB存儲(chǔ)器的驅(qū)動(dòng)器類型支持Autorun功能,但是USB存儲(chǔ)器中沒有Autorun.inf文件時(shí)出現(xiàn)系統(tǒng)錯(cuò)誤,所以為了減少系統(tǒng)錯(cuò)誤,在本實(shí)施例中設(shè)置了本步驟;另外,步驟705和本步驟中的直接結(jié)束本流程的意思是,操作系統(tǒng)不查找USB存儲(chǔ)器中是否有Autorun.inf文件,也不會(huì)運(yùn)行該文件中指定的程序,只為用戶提供USB存儲(chǔ)器E區(qū)基本的存儲(chǔ)功能;步驟707、操作系統(tǒng)運(yùn)行Autorun.inf文件中指定的程序;此外,E區(qū)的存儲(chǔ)功能用戶仍然可以正常使用,只是有時(shí)需要在Autorun.inf文件中指定程序,例如殺毒程序,運(yùn)行完之后,才能使用E區(qū)的存儲(chǔ)功能。
以上是對(duì)本發(fā)明第一實(shí)施例的說明,在第一實(shí)施例中,USB存儲(chǔ)器在插入計(jì)算機(jī)后,立即檢測與本發(fā)明中設(shè)置的開關(guān)相連的管腳電位,并根據(jù)該管腳電位設(shè)置D區(qū)的驅(qū)動(dòng)器類型,操作系統(tǒng)通過判斷驅(qū)動(dòng)器類型來決定是否執(zhí)行Autorun功能。然而,即使不更改驅(qū)動(dòng)器類型也可以實(shí)現(xiàn)本發(fā)明,本發(fā)明的第二實(shí)施例就是不更改驅(qū)動(dòng)器類型實(shí)現(xiàn)本發(fā)明的,以下對(duì)其進(jìn)行說明。
在本發(fā)明的第二實(shí)施例中,USB存儲(chǔ)器的驅(qū)動(dòng)器類型預(yù)先設(shè)置為支持Autorun功能的驅(qū)動(dòng)器類型,通常為光驅(qū)。與第一實(shí)施例相同,本實(shí)施例也需要預(yù)先設(shè)置一個(gè)用戶可以控制的開關(guān),將該開關(guān)與USB存儲(chǔ)器控制器的一個(gè)管腳相連,具體的USB存儲(chǔ)器結(jié)構(gòu)與第一實(shí)施例相同。另外,本實(shí)施例中還預(yù)先在Autorun.inf文件中設(shè)置自動(dòng)運(yùn)行標(biāo)志位,該標(biāo)志位有兩個(gè)值,一個(gè)值指示為運(yùn)行Autorun.inf文件中指定的程序,另一個(gè)值指示為不運(yùn)行Autorun.inf文件中指定的程序。操作系統(tǒng)在判斷出USB存儲(chǔ)器中有Autorun.inf文件后,首先讀取Autorun.inf文件中自動(dòng)運(yùn)行標(biāo)志位,然后根據(jù)自動(dòng)運(yùn)行標(biāo)志位的值運(yùn)行或不運(yùn)行Autorun.inf文件中指定的程序。
自動(dòng)運(yùn)行標(biāo)志位的值在USB存儲(chǔ)器上電之初,即由USB存儲(chǔ)器進(jìn)行設(shè)置。就是說,USB存儲(chǔ)器在插入計(jì)算機(jī)后,馬上判斷與上述開關(guān)相連的管腳電位所對(duì)應(yīng)的開關(guān)狀態(tài)是否為開,如果為開,USB存儲(chǔ)器設(shè)置自動(dòng)運(yùn)行標(biāo)志位的值為指示運(yùn)行Autorun.inf文件中指定的程序;否則,USB存儲(chǔ)器設(shè)置自動(dòng)運(yùn)行標(biāo)志位的值為指示不運(yùn)行Autorun.inf文件中指定的程序。
此后,本實(shí)施例中操作系統(tǒng)與USB存儲(chǔ)器進(jìn)行交互的流程如圖8所示,具體步驟如下步驟801、USB存儲(chǔ)器插入計(jì)算機(jī)后,操作系統(tǒng)讀取USB存儲(chǔ)器中的配置信息,計(jì)算機(jī)獲得USB存儲(chǔ)器的配置信息后,判斷出配置信息中的驅(qū)動(dòng)器類型支持Autorun功能,然后執(zhí)行步驟802;
步驟802、操作系統(tǒng)檢查USB存儲(chǔ)器中是否有Autorun.inf文件,如果有該文件,執(zhí)行步驟803;否則直接結(jié)束本流程;步驟803、操作系統(tǒng)讀取Autorun.inf文件中的自動(dòng)運(yùn)行標(biāo)志位,然后判斷該標(biāo)志位的值指示是否為運(yùn)行Autorun.inf文件中指定的程序,如果是執(zhí)行步驟804;否則直接結(jié)束本流程;步驟804、操作系統(tǒng)運(yùn)行Autorun.inf文件中指定的程序。
以上是對(duì)本發(fā)明兩個(gè)具體實(shí)施例的說明,下面再以應(yīng)用本發(fā)明的兩種具體情況對(duì)本發(fā)明的有益效果進(jìn)一步進(jìn)行說明。
第一種情況是USB存儲(chǔ)器中有加密區(qū)的情況,在有加密區(qū)的USB存儲(chǔ)器中,用戶需要進(jìn)行登陸之后才能使用加密區(qū),實(shí)現(xiàn)這種功能較好的方法就是將登陸程序Login.exe設(shè)置為Autorun.inf文件中指定的程序,但是這樣帶來的一種問題就是用戶即使不想使用加密區(qū),在USB存儲(chǔ)器插入到計(jì)算機(jī)中后,仍然會(huì)自動(dòng)出現(xiàn)登陸窗口,給用戶造成了不便。而在本發(fā)明中,如果開關(guān)處于關(guān)斷狀態(tài)下為不執(zhí)行自動(dòng)運(yùn)行程序,則用戶在不想使用加密區(qū)時(shí),只要將開關(guān)撥到關(guān)的位置,就不會(huì)運(yùn)行登陸程序,也不會(huì)出現(xiàn)登陸窗口,給用戶帶來了便利。
第二種情況是USB存儲(chǔ)器中集成殺毒軟件的情況,將殺毒程序設(shè)置為Autorun.inf文件中指定的程序,可以在USB存儲(chǔ)器插入計(jì)算機(jī)之初即執(zhí)行殺毒功能。但是在很多情況下,用戶完全可以確認(rèn)USB存儲(chǔ)器沒有被病毒感染,這時(shí)就不需要運(yùn)行殺毒程序,可是由于殺毒程序是自動(dòng)運(yùn)行的,每次使用USB存儲(chǔ)器時(shí)都會(huì)運(yùn)行,給用戶帶來了不方便,也浪費(fèi)了時(shí)間。而通過本發(fā)明的方法,如果開關(guān)處于關(guān)斷狀態(tài)下為不執(zhí)行自動(dòng)運(yùn)行程序,則用戶確認(rèn)USB存儲(chǔ)器不會(huì)被病毒感染的情況下,可以將開關(guān)撥到關(guān)的位置,這樣在USB存儲(chǔ)器插入到計(jì)算機(jī)中后,USB存儲(chǔ)器中的殺毒程序就不會(huì)運(yùn)行,用戶可以直接享受USB存儲(chǔ)器的存儲(chǔ)功能,給用戶帶來了極大的便利。
以上是對(duì)本發(fā)明具體實(shí)施例的說明,在具體的實(shí)施過程中可對(duì)本發(fā)明的方法進(jìn)行適當(dāng)?shù)母倪M(jìn),以適應(yīng)具體情況的具體需要。因此可以理解,根據(jù)本發(fā)明的具體實(shí)施方式
只是起示范作用,并不用以限制本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種對(duì)USB存儲(chǔ)器中自動(dòng)運(yùn)行程序進(jìn)行控制的方法,其特征在于,在USB存儲(chǔ)器上設(shè)置一個(gè)用于對(duì)自動(dòng)運(yùn)行程序進(jìn)行控制的開關(guān);該方法還包括A、USB存儲(chǔ)器插入計(jì)算機(jī)后,判斷自動(dòng)運(yùn)行程序控制開關(guān)是否為執(zhí)行自動(dòng)運(yùn)行程序,如果是執(zhí)行步驟B;否則直接結(jié)束本流程;B、操作系統(tǒng)執(zhí)行USB存儲(chǔ)器中的自動(dòng)運(yùn)行程序。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述判斷自動(dòng)運(yùn)行程序控制開關(guān)是否為執(zhí)行自動(dòng)運(yùn)行程序后,進(jìn)一步包括A11、如果該開關(guān)為執(zhí)行自動(dòng)運(yùn)行程序,USB存儲(chǔ)器將自己的驅(qū)動(dòng)器類型設(shè)置為支持自動(dòng)運(yùn)行功能的驅(qū)動(dòng)器類型,然后執(zhí)行步驟A12;否則,USB存儲(chǔ)器將自己的驅(qū)動(dòng)器類型設(shè)置為不支持自動(dòng)運(yùn)行功能的驅(qū)動(dòng)器類型,然后執(zhí)行步驟A12;A12、操作系統(tǒng)讀取USB存儲(chǔ)器中的配置信息,判斷其中的驅(qū)動(dòng)器類型是否為支持自動(dòng)運(yùn)行功能的驅(qū)動(dòng)器類型;所述步驟B為操作系統(tǒng)根據(jù)驅(qū)動(dòng)器類型是否為支持自動(dòng)運(yùn)行功能的驅(qū)動(dòng)器類型來執(zhí)行USB存儲(chǔ)器中的自動(dòng)運(yùn)行程序。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述不支持自動(dòng)運(yùn)行功能的驅(qū)動(dòng)器類型為可移動(dòng)磁盤。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟A之前進(jìn)一步包括預(yù)先在USB存儲(chǔ)器中設(shè)置自動(dòng)運(yùn)行標(biāo)志位;步驟A中所述USB存儲(chǔ)器插入計(jì)算機(jī)后,判斷自動(dòng)運(yùn)行程序控制開關(guān)是否為執(zhí)行自動(dòng)運(yùn)行程序后,進(jìn)一步包括如果自動(dòng)運(yùn)行控制開關(guān)為執(zhí)行自動(dòng)運(yùn)行程序,USB存儲(chǔ)器將自動(dòng)運(yùn)行標(biāo)志位設(shè)置為執(zhí)行自動(dòng)運(yùn)行程序;否則,USB存儲(chǔ)器將自動(dòng)運(yùn)行標(biāo)志位設(shè)置為不執(zhí)行自動(dòng)運(yùn)行程序;操作系統(tǒng)判斷自動(dòng)運(yùn)行標(biāo)志位是否為執(zhí)行自動(dòng)運(yùn)行程序;所述步驟B為操作系統(tǒng)根據(jù)自動(dòng)運(yùn)行標(biāo)志位是否為執(zhí)行自動(dòng)運(yùn)行程序來執(zhí)行自動(dòng)運(yùn)行程序。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述步驟A之前進(jìn)一步包括預(yù)先設(shè)置USB存儲(chǔ)器的驅(qū)動(dòng)器類型為支持自動(dòng)運(yùn)行功能的驅(qū)動(dòng)器類型;所述的在USB存儲(chǔ)器中設(shè)置自動(dòng)運(yùn)行標(biāo)志位為在USB存儲(chǔ)器中的自動(dòng)運(yùn)行文件中設(shè)置自動(dòng)運(yùn)行標(biāo)志位;所述操作系統(tǒng)判斷自動(dòng)運(yùn)行標(biāo)志位是否為執(zhí)行自動(dòng)運(yùn)行程序的方法為操作系統(tǒng)執(zhí)行讀取USB存儲(chǔ)器中的配置信息,判斷出USB存儲(chǔ)器的驅(qū)動(dòng)器類型為支持自動(dòng)運(yùn)行功能的驅(qū)動(dòng)器類型后,讀取自動(dòng)運(yùn)行文件中的自動(dòng)運(yùn)行標(biāo)志位,判斷該標(biāo)志位是否為執(zhí)行自動(dòng)運(yùn)行程序。
6.根據(jù)權(quán)利要求2、3或5所述的方法,其特征在于,所述的支持自動(dòng)運(yùn)行功能的驅(qū)動(dòng)器類型為光驅(qū)。
7.根據(jù)權(quán)利要求2、3或5所述的方法,其特征在于,所述判斷出驅(qū)動(dòng)器類型為支持自動(dòng)運(yùn)行功能的驅(qū)動(dòng)器類型后,進(jìn)一步包括操作系統(tǒng)判斷USB存儲(chǔ)器中是否有自動(dòng)運(yùn)行文件,如果有該文件,執(zhí)行后續(xù)步驟;否則,直接結(jié)束本流程;步驟B中所述的自動(dòng)運(yùn)行程序?yàn)樽詣?dòng)運(yùn)行文件中指定的程序。
8.根據(jù)權(quán)利要求1至5中任一權(quán)利要求所述的方法,其特征在于,USB存儲(chǔ)器控制器通過管腳與自動(dòng)運(yùn)行程序控制開關(guān)相連;所述判斷自動(dòng)運(yùn)行程序控制開關(guān)是否為執(zhí)行自動(dòng)運(yùn)行程序的方法為控制器判斷與自動(dòng)運(yùn)行程序控制開關(guān)相連的管腳電位是否為指示執(zhí)行自動(dòng)運(yùn)行程序。
9.一種USB存儲(chǔ)器,該USB存儲(chǔ)器至少包括存儲(chǔ)區(qū)(101),用于存儲(chǔ)數(shù)據(jù)和自動(dòng)運(yùn)行程序;USB接口(102),用于USB存儲(chǔ)器與計(jì)算機(jī)進(jìn)行連接;控制器(103),用于通過USB接口(102)與計(jì)算機(jī)通信,對(duì)存儲(chǔ)區(qū)(101)執(zhí)行讀寫操作,并執(zhí)行存儲(chǔ)區(qū)(101)中的自動(dòng)運(yùn)行程序;其特征在于,該USB存儲(chǔ)器還包括自動(dòng)運(yùn)行程序控制開關(guān)(502),用于對(duì)自動(dòng)運(yùn)行程序進(jìn)行控制;其中,自動(dòng)運(yùn)行程序控制開關(guān)連接到控制器(103),控制器(103)獲得自動(dòng)運(yùn)行程序控制開關(guān)(502)的狀態(tài)后,根據(jù)所獲得的狀態(tài)設(shè)定執(zhí)行或不執(zhí)行自動(dòng)運(yùn)行程序。
10.根據(jù)權(quán)利要求9所述的USB存儲(chǔ)器,其特征在于,自動(dòng)運(yùn)行程序控制開關(guān)(502)通過控制器管腳(A_IO)連接到控制器(103)上。
11.根據(jù)權(quán)利要求9或10所述的USB存儲(chǔ)器,其特征在于,該USB存儲(chǔ)器進(jìn)一步包括電阻(R),其一端連接到電源正極,另一端連接到自動(dòng)運(yùn)行程序控制開關(guān)(502)和控制器(103)的連接處;電容(C),其一端與地連接,另一端連接到自動(dòng)運(yùn)行程序控制開關(guān)(502)和控制器(103)的連接處。
全文摘要
本發(fā)明公開了一種對(duì)USB存儲(chǔ)器中自動(dòng)運(yùn)行程序進(jìn)行控制的方法,該方法在USB存儲(chǔ)器中設(shè)置一個(gè)用于對(duì)自動(dòng)運(yùn)行程序進(jìn)行控制的開關(guān);該方法還包括USB存儲(chǔ)器插入計(jì)算機(jī)后,判斷自動(dòng)運(yùn)行程序控制開關(guān)是否為執(zhí)行自動(dòng)運(yùn)行程序,如果是,操作系統(tǒng)運(yùn)行USB存儲(chǔ)器中的自動(dòng)運(yùn)行程序;否則直接結(jié)束本流程。本發(fā)明還公開了一種USB存儲(chǔ)器,該USB存儲(chǔ)器至少包括存儲(chǔ)區(qū)、USB接口、控制器和自動(dòng)運(yùn)行程序控制開關(guān)。本發(fā)明中,通過在USB存儲(chǔ)器中設(shè)置用戶能夠控制的開關(guān),并將該開關(guān)與控制器相連接,從而控制器能夠根據(jù)開關(guān)狀態(tài)設(shè)定是否執(zhí)行自動(dòng)運(yùn)行程序,實(shí)現(xiàn)了用戶對(duì)自動(dòng)運(yùn)行程序的控制,為用戶帶來了便利,增加了對(duì)用戶的吸引力。
文檔編號(hào)G06F9/44GK1801122SQ20041010312
公開日2006年7月12日 申請日期2004年12月31日 優(yōu)先權(quán)日2004年12月31日
發(fā)明者楊宇光 申請人:聯(lián)想(北京)有限公司