本發明專利技術公開了一種系統啟動項程序的運行處理方法和裝置,其中所述方法包括:掃描系統啟動項程序,并獲取所述系統啟動項程序的導入信息;獲取所述導入信息的靜態鏈接文件;在獲取所述導入信息的靜態鏈接文件失敗時,禁止所述導入信息對應的系統啟動項程序啟動。本發明專利技術能夠避免在計算機開啟時由于啟動項缺少加載文件而彈出提示框給從而用戶造成困擾的問題。
【技術實現步驟摘要】
本專利技術涉及計算機
,具體涉及一種系統啟動項程序的運行處理方法,以及一種系統啟動項程序的運行處理裝置。
技術介紹
在系統的啟動過程中,系統會自動運彳丁啟動項中的程序。在啟動項中的程序使用靜態鏈接的方式加載DLL (Dynamic Link Library,動態鏈接庫)時,如果所述DLL不存在, 所述啟動項的程序便有可能加載失敗,此時系統會彈出無法找到組件的錯誤提示框,提示用戶因為沒有找到XXX. dlI,無法啟動所述啟動項的程序等信息。例如=TestLoadDll. exe 程序靜態鏈接了 TestDll. dll文件,當開啟系統時運行TestLoadDll. exe程序,無法找到 TestDll. dll時,系統便會彈出如圖1所示的錯誤提示框。然而,系統經常彈出錯誤提示框,特別是一些不常用的啟動項的錯誤提示框,在一定程度上會給用戶造成干擾。因此,本領域技術人員需要解決的技術問題是提供一種系統啟動項程序的運行處理機制,能夠避免在計算機開啟時由于啟動項缺少加載文件而彈出提示框給從而用戶造成困擾的問題。
技術實現思路
鑒于上述問題,提出了本專利技術以便提供一種克服上述問題或者至少部分地解決上述問題的一種系統啟動項程序的運行處理方法和相應的裝置。依據本專利技術的一個方面,提供了一種系統啟動項程序的運行處理方法,包括掃描系統啟動項程序,并獲取所述系統啟動項程序的導入信息; 獲取所述導入信息的靜態鏈接文件;在獲取所述導入信息的靜態鏈接文件失敗時,禁止所述導入信息對應的系統啟動項程序啟動。可選地,所述獲取導入信息的靜態鏈接文件的步驟包括獲取所述導入信息的靜態鏈接文件的文件名;在系統的預設位置中查找所述導入信息的靜態鏈接文件的文件名。可選地,所述系統啟動項程序的導入信息包括可移植執行體文件,所述獲取導入信息的靜態鏈接文件的文件名的步驟進一步包括獲取可移植執行體文件的DOS頭文件信息,所述DOS頭文件信息包括地址偏移量;根據所述地址偏移量獲取所述可移植執行體文件的頭文件信息,所述可移植執行體文件的頭文件信息包括頭文件的相對虛擬地址;采用所述頭文件的相對虛擬地址計算所述可移植執行體文件的靜態鏈接文件的文件名的位置;從所述可移植執行體文件的靜態鏈接文件文件名的位置中獲取所述可移植執行體文件的靜態鏈接文件的文件名??蛇x地,所述在獲取導入信息的靜態鏈接文件失敗時,禁止所述導入信息對應的系統啟動項程序啟動的步驟包括在查找不到所述導入信息的靜態鏈接文件的文件名時,禁止所述導入信息對應的系統啟動項程序啟動??蛇x地,所述系統的預設位置包括所述靜態鏈接文件所在目錄,Windows目錄,系統目錄,環境變量路徑指定的目錄。根據本專利技術的另一方面,提供了一種系統啟動項程序的運行處理裝置,包括導入信息獲取模塊,適于掃描系統啟動項程序,并獲取所述系統啟動項程序的導入信息;靜態鏈接文件獲取模塊,適于獲取所述導入信息的靜態鏈接文件;啟動項禁止模塊,適于在獲取所述導入信息的靜態鏈接文件失敗時,禁止所述導入信息對應的系統啟動項程序啟動??蛇x地,所述靜態鏈接文件獲取模塊包括文件名獲取子模塊,適于獲取所述導入信息的靜態鏈接文件的文件名;文件名查找子模塊,適于在系統的預設位置中查找所述導入信息的靜態鏈接文件的文件名??蛇x地,所述系統啟動項程序的導入信息包括可移植執行體文件,所述文件名獲取子模塊進一步包括DOS頭文件獲取單元,適于獲取可移植執行體文件的DOS頭文件信息,所述DOS頭文件信息包括地址偏移量;可移植執行體文件的頭文件獲取單元,適于根據所述地址偏移量獲取所述可移植執行體文件的頭文件信息,所述可移植執行體文件的頭文件信息包括頭文件的相對虛擬地址;文件名位置獲取單元,適于采用所述頭文件的相對虛擬地址計算所述可移植執行體文件的靜態鏈接文件的文件名的位置;文件名獲取單元,適于從所述可移植執行體文件的靜態鏈接文件文件名的位置中獲取所述可移植執行體文件的靜態鏈接文件的文件名??蛇x地,所述在啟動項禁止模塊包括啟動項禁止子模塊,適于在查找不到所述導入信息的靜態鏈接文件的文件名時, 禁止所述導入信息對應的系統啟動項程序啟動??蛇x地,所述系統的預設位置包括所述靜態鏈接文件所在目錄,Windows目錄,系統目錄,環境變量路徑指定的目錄。根據本專利技術的一種系統啟動項程序的運行處理方法和裝置可以禁止缺少DLL的系統啟動項程序的開啟,由此解決了在計算機開啟過程中一些自啟動程序因為缺少所依賴的DLL而出現程序錯誤彈框給用戶造成干擾的問題取得了避免錯誤提示框彈出的有益效果O上述說明僅是本專利技術技術方案的概述,為了能夠更清楚了解本專利技術的技術手段,5而可依照說明書的內容予以實施,并且為了讓本專利技術的上述和其它目的、特征和優點能夠更明顯易懂,以下特舉本專利技術的具體實施方式。附圖說明通過閱讀下文優選實施方式的詳細描述,各種其他的優點和益處對于本領域普通技術人員將變得清楚明了。附圖僅用于示出優選實施方式的目的,而并不認為是對本專利技術的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中圖1示出了根據本專利技術一個實施例的一種系統啟動項程序的運行處理機制的錯誤提示框圖2示出了根據本專利技術一個實施例的一種系統啟動項程序的運行處理方法實施例的步驟流程圖3示出了根據本專利技術一個實施例的DLL缺失系統警告框圖4示出了根據本專利技術一個實施例的一種系統啟動項程序的運行處理裝置實施例的結構框圖。具體實施方式下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并 且能夠將本公開的范圍完整的傳達給本領域的技術人員。本專利技術實施例的核心構思之一在于,通過獲取系統啟動項程序的導入信息來查找導入信息的靜態鏈接文件是否缺失,如果靜態鏈接文件缺失,則禁止導入信息對應的系統啟動項程序啟動。參照圖2,示出了根據本專利技術一個實施例的一種系統啟動項程序的運行處理方法實施例的步驟流程圖,具體可以包括以下步驟步驟201 :掃描系統啟動項程序,并獲取所述系統啟動項程序的導入信息;其中,所述系統啟動項程序可以包括一個或多個啟動項程序,具體而言,當計算機操作系統完成登錄過程后,進程表中出現了很多的進程,在操作系統啟動的時候會自動加載很多程序,這些計算機操作系統在前臺或者后臺運行的程序稱為啟動項程序,系統啟動項程序通常可以包括文件夾類啟動項程序、注冊表鍵值類啟動項程序、子鍵類啟動項程序、 加載服務類啟動項程序等,其中,文件夾類啟動項程序可以包括“啟動”文件夾以及“All Users”中的自啟動程序文件夾兩種常見的自啟動程序文件夾,其分別位于“documents and Settings-->User-->〔開始〕菜單-->程序”目錄和“documents and Settings-->A11 User-->〔開始〕菜單一一 >程序”目錄下。注冊表鍵值類啟動項程序可以包括“Load”鍵值、“Userinit”鍵值、“Explorer\ Run”鍵值。子鍵類啟動項程序可以包括“RunServicesOnce”子鍵、“RunServices”子鍵、 “RunOnce本文檔來自技高網...
【技術保護點】
一種系統啟動項程序的運行處理方法,包括:掃描系統啟動項程序,并獲取所述系統啟動項程序的導入信息;獲取所述導入信息的靜態鏈接文件;在獲取所述導入信息的靜態鏈接文件失敗時,禁止所述導入信息對應的系統啟動項程序啟動。
【技術特征摘要】
【專利技術屬性】
技術研發人員:劉智鋒,張波,
申請(專利權)人:北京奇虎科技有限公司,奇智軟件北京有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。