亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

安裝軟件的方法和裝置的制作方法

文檔序號:6355903閱讀:268來源:國知局
專利名稱:安裝軟件的方法和裝置的制作方法
技術領域
本發(fā)明涉及計算機軟件領域,特別涉及一種安裝軟件的方法和裝置。
背景技術
在各種操作系統(tǒng)平臺上,例如windows平臺,用戶經常需要安裝各種應用程序的安裝包,以便于使用該應用程序提供的功能。例如,安裝各種聊天工具,以便于實現(xiàn)與其他用戶之間的即時通訊功能。目前,應用程序的安裝包通常為用戶提供安裝向導,用戶根據安裝向導的提示逐步完成安裝。例如,當用戶點擊安裝包的可執(zhí)行文件時,該應用程序的安裝向導首先提示用戶是否同意一些規(guī)范,如果用戶點擊同意再執(zhí)行下一歩,還會提示用戶是否安裝某些插件, 或是否將網頁設為首頁等,用戶需要逐步確認選擇,經過數(shù)個操作之后,最終才能完成安裝。由此可見,現(xiàn)有技術需要用戶根據安裝向導,逐步手工確認選擇才能完成安裝。對于不熟悉軟件安裝的用戶來說,可能無法順利完成安裝或安裝出錯,影響用戶使用軟件。

發(fā)明內容
為了改變軟件需要用戶手工干預才能完成安裝的現(xiàn)狀,本發(fā)明實施例提供了ー種安裝軟件的方法和裝置。所述技術方案如下本發(fā)明一方面提供了一種安裝軟件的方法,所述方法包括步驟I :建立安裝包對應的監(jiān)控任務;步驟2 :運行所述安裝包,將所述安裝包的進程加入所述監(jiān)控任務;步驟3 :枚舉頂層窗體句柄,獲取每個頂層窗體句柄所屬的進程;步驟4:如果頂層窗體句柄所屬的進程在所述監(jiān)控任務中,枚舉所述頂層窗體句柄對應的頂層窗體上所有控件句柄,獲取每個控件句柄上的文字;步驟5 :根據所述文字中包含的信息,對所述文字相應的控件執(zhí)行相應的操作;步驟6 :重復步驟3、步驟4和步驟5,直到所述監(jiān)控任務中的所有進程都執(zhí)行完畢。其中,步驟I具體包括調用系統(tǒng)API CreateJobObject建立安裝包對應的監(jiān)控任務。其中,步驟2具體包括調用系統(tǒng)API CreateProcess運行所述安裝包,使用AssignProcessToJobObject將所述安裝包的進程加入所述監(jiān)控任務。其中,步驟3具體包括通過EnumWindows枚舉windows頂層窗體句柄,使用GetffindowThreadProcessId獲取姆個頂層窗體句柄所屬的進程。其中,步驟5具體包括如果所述文字中包含確認相關的信息,對所述文字相應的控件執(zhí)行點擊操作;如果所述文字中包含選擇相關的信息,對所述文字相應的控件執(zhí)行不選擇操作;如果所述文字中包含路徑相關的信息,在所述文字相應的控件中輸入用戶設定的路徑。所述確認相關的信息包括“確認”、“我同意”、“I agree”、“下一歩”、以及“完成”;所述選擇相關的信息包括“插件”、“設為主頁”、以及“收費”選項;所述路徑相關的信息包括“保存到”、以及“安裝到”。其中,所述方法還包括對至少兩個安裝包,執(zhí)行權利要求I所述的方法,以實現(xiàn)軟件批量安裝。本發(fā)明另一方面提供了一種安裝軟件的裝置,所述裝置包括 建立模塊,用于建立安裝包對應的監(jiān)控任務;添加模塊,用于運行所述安裝包,將所述安裝包的進程加入所述監(jiān)控任務;第一枚舉和獲取模塊,用于枚舉頂層窗體句柄,獲取每個頂層窗體句柄所屬的進程;第二枚舉和獲取模塊,用于如果頂層窗體句柄所屬的進程在所述監(jiān)控任務中,枚舉所述頂層窗體句柄對應的頂層窗體上所有控件句柄,獲取每個控件句柄上的文字;執(zhí)行模塊,用于根據所述文字中包含的信息,對所述文字相應的控件執(zhí)行相應的操作;循環(huán)模塊,用于重復執(zhí)行第一枚舉和獲取模塊、第二枚舉和獲取模塊和執(zhí)行模塊,直到所述監(jiān)控任務中的所有進程都執(zhí)行完畢。其中,所述建立模塊,具體用于調用系統(tǒng)API CreateJobObject建立安裝包對應的監(jiān)控任務。其中,所述添加模塊,具體用于調用系統(tǒng)API CreateProcess運行所述安裝包,使用AssignProcessToJobObject將所述安裝包的進程加入所述監(jiān)控任務。其中,所述第一枚舉和獲取模塊,具體用于通過EnumWindows枚舉windows頂層窗體句柄,使用GetWindowThreadProcessId獲取姆個頂層窗體句柄所屬的進程。其中,所述執(zhí)行模塊,具體用于如果所述文字中包含確認相關的信息,對所述文字相應的控件執(zhí)行點擊操作;如果所述文字中包含選擇相關的信息,對所述文字相應的控件執(zhí)行不選擇操作;如果所述文字中包含路徑相關的信息,在所述文字相應的控件中輸入用戶設定的路徑。所述確認相關的信息包括“確認”、“我同意”、“I agree”、“下一歩”、以及“完成”;所述選擇相關的信息包括“插件”、“設為主頁”、以及“收費”選項;所述路徑相關的信息包括“保存到”、以及“安裝到”。所述裝置還包括批量安裝模塊,用于對至少兩個安裝包,執(zhí)行建立模塊、添加模塊、第一枚舉和獲取模塊、第二枚舉和獲取模塊、執(zhí)行模塊和循環(huán)模塊,以實現(xiàn)軟件批量安裝。本發(fā)明實施例提供的技術方案帶來的有益效果是通過建立安裝包對應的監(jiān)控任務,將安裝包的進程加入監(jiān)控任務,枚舉頂層窗體句柄,如果頂層窗體句柄所屬的進程在監(jiān)控任務中,枚舉該頂層窗體句柄對應的頂層窗體上所有控件句柄,獲取每個控件句柄上的文字,根據文字中包含的信息,對該文字相應的控件執(zhí)行相應的操作,直到監(jiān)控任務中的所有進程都執(zhí)行完畢,則該安裝包自動安裝完畢,整個安裝過程無須用戶手動干預。


圖I是本發(fā)明實施例I中提供的安裝軟件的方法流程圖;圖2是本發(fā)明實施例2中提供的安裝軟件的裝置結構示意圖。
具體實施例方式為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明實施方式作進ー步地詳細描述。實施例I參見圖I,本實施例提供了一種安裝軟件的方法,該方法包括
步驟I :建立安裝包對應的監(jiān)控任務;具體的,調用系統(tǒng)API (Application Programming Interface,應用程序編程接ロ)CreateJobObject建立安裝包對應的監(jiān)控任務。步驟2 :運行該安裝包,將該安裝包的進程加入該監(jiān)控任務;具體的,調用系統(tǒng)API CreateProcess運行該安裝包,使用AssignProcessToJobObject將該安裝包的進程加入該監(jiān)控任務。步驟3 :枚舉頂層窗體句柄,獲取每個頂層窗體句柄所屬的進程;具體的,通過EnumWindows枚舉windows頂層窗體句柄,使用GetWindowThreadProcessId獲取姆個頂層窗體句柄所屬的進程。步驟4:如果某ー頂層窗體句柄所屬的進程在該監(jiān)控任務中,枚舉該頂層窗體句柄對應的頂層窗體上所有控件句柄,獲取每個控件句柄上的文字;如果頂層窗體句柄所屬的進程不在該監(jiān)控任務中,則執(zhí)行步驟3,枚舉另ー個頂層窗體句柄。步驟5 :根據該文字中包含的信息,對該文字相應的控件執(zhí)行相應的操作;如果該文字中包含確認相關的信息,對該文字相應的控件執(zhí)行點擊操作,其中,確認相關的信息包括但不限干“確認”、“我同意”、“I agree”、“下一歩”、以及“完成”等,相應的控件通常為按鈕Button ;如果該文字中包含選擇相關的信息,對該文字相應的控件執(zhí)行不選擇操作,其中,選擇相關的信息包括但不限干“插件”、“設為主頁”、以及“收費”選項等,相應的控件通常為選項 Option、CheckBox ;如果該文字中包含路徑相關的信息,在該文字相應的控件中輸入用戶設定的路徑,其中,路徑相關的信息包括但不限于“保存到”、以及“安裝到”等,相應的控件通常為Edit。例如,某一應用程序的安裝向導提示用戶是否同意一些規(guī)范,只有在同意的情況下,才能進行后續(xù)的安裝,則本步驟會模擬點擊“我同意”,以進行后續(xù)安裝,后續(xù)安裝包如果提示用戶是否安裝某些插件,或是否將網頁設為主頁等,則本步驟會默認不勾選這些選項,后續(xù)安裝包如果提示用戶輸入安裝路徑,如果用戶設置了安裝路徑,則路徑的編輯框輸入用戶設定的路徑,如果用戶沒有設置,則可以輸入通常默認的安裝路徑,如C:\PiOgramFiles 等。上述人工智能選擇操作,不僅可以幫助用戶自動完成軟件安裝,而且可以避免軟件安裝過程中存在的強制安裝插件或誘導消費等陷阱。步驟6:如果該監(jiān)控任務中的所有進程沒有都執(zhí)行完畢,重復步驟3、步驟4和步驟5,直到該監(jiān)控任務中的所有進程都執(zhí)行完畢,則該安裝包安裝完成。進ー步的,對至少兩個安裝包,執(zhí)行步驟I-步驟6的方法,可以實現(xiàn)軟件批量安裝。對于網絡管理員需要統(tǒng)ー批量部署軟件的情況,本步驟可以避免大量枯燥重復機械的安裝操作。本實施例通過建立安裝包對應的監(jiān)控任務,將安裝包的進程加入監(jiān)控任務,枚舉頂層窗體句柄,如果頂層窗體句柄所屬的進程在監(jiān)控任務中,枚舉該頂層窗體句柄對應的頂層窗體上所有控件句柄,獲取每個控件句柄上的文字,根據文字中包含的信息,對該文字 相應的控件執(zhí)行相應的操作,直到監(jiān)控任務中的所有進程都執(zhí)行完畢,則該安裝包自動安裝完畢,整個安裝過程無須用戶手動干預。同時,對于多個安裝包,可以批量安裝軟件。實施例2參見圖2,本實施例提供了一種安裝軟件的裝置,該裝置包括建立模塊11,用于建立安裝包對應的監(jiān)控任務;添加模塊12,用于運行該安裝包,將該安裝包的進程加入該監(jiān)控任務;第一枚舉和獲取模塊13,用于枚舉頂層窗體句柄,獲取每個頂層窗體句柄所屬的進程;第二枚舉和獲取模塊14,用于如果頂層窗體句柄所屬的進程在該監(jiān)控任務中,枚舉該頂層窗體句柄對應的頂層窗體上所有控件句柄,獲取每個控件句柄上的文字;執(zhí)行模塊15,用于根據該文字中包含的信息,對該文字相應的控件執(zhí)行相應的操作;循環(huán)模塊16,用于重復執(zhí)行第一枚舉和獲取模塊13、第二枚舉和獲取模塊14和執(zhí)行模塊15,直到該監(jiān)控任務中的所有進程都執(zhí)行完畢。其中,建立模塊11,具體用于調用系統(tǒng)API CreateJobObject建立安裝包對應的監(jiān)控任務。添加模塊12,具體用于調用系統(tǒng)API CreateProcess運行該安裝包,使用AssignProcessToJobObject將該安裝包的進程加入該監(jiān)控任務。第一枚舉和獲取模塊13,具體用于通過EnumWindows枚舉windows頂層窗體句柄,使用GetWindowThreadProcessId獲取姆個頂層窗體句柄所屬的進程。執(zhí)行模塊15,具體用于如果該文字中包含確認相關的信息,對該文字相應的控件執(zhí)行點擊操作;如果該文字中包含選擇相關的信息,對該文字相應的控件執(zhí)行不選擇操作;如果該文字中包含路徑相關的信息,在該文字相應的控件中輸入用戶設定的路徑。其中,確認相關的信息包括但不限于“確認”、“我同意”、“I agree”、“下一歩”、以及“完成”等,相應的控件通常為按鈕Button ;其中,選擇相關的信息包括但不限于“插件”、“設為主頁”、以及“收費”選項等,相應的控件通常為選項Option、CheckBox ;其中,路徑相關的信息包括但不限于“保存到”、以及“安裝到”等,相應的控件通常為Edit。該裝置還包括批量安裝模塊,用于對至少兩個安裝包,執(zhí)行建立模塊、添加模塊、第一枚舉和獲取模塊、第二枚舉和獲取模塊、執(zhí)行模塊和循環(huán)模塊,以實現(xiàn)軟件批量安裝。本實施例通過建立安裝包對應的監(jiān)控任務,將安裝包的進程加入監(jiān)控任務,枚舉頂層窗體句柄,如果頂層窗體句柄所屬的進程在監(jiān)控任務中,枚舉該頂層窗體句柄對應的頂層窗體上所有控件句柄,獲取每個控件句柄上的文字,根據文字中包含的信息,對該文字相應的控件執(zhí)行相應的操作,直到監(jiān)控任務中的所有進程都執(zhí)行完畢,則該安裝包自動安裝完畢,整個安裝過程無須用戶手動干預。同時,對于多個安裝包,可以批量安裝軟件。以上實施例提供的技術方案中的全部或部分內容可以通過軟件編程實現(xiàn),其軟件程序存儲在可讀取的存儲介質中,存儲介質例如計算機中的硬盤、光盤或軟盤。以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和 原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
權利要求
1.一種安裝軟件的方法,其特征在于,所述方法包括 步驟I:建立安裝包對應的監(jiān)控任務; 步驟2 :運行所述安裝包,將所述安裝包的進程加入所述監(jiān)控任務; 步驟3 :枚舉頂層窗體句柄,獲取每個頂層窗體句柄所屬的進程; 步驟4:如果頂層窗體句柄所屬的進程在所述監(jiān)控任務中,枚舉所述頂層窗體句柄對應的頂層窗體上所有控件句柄,獲取每個控件句柄上的文字; 步驟5 :根據所述文字中包含的信息,對所述文字相應的控件執(zhí)行相應的操作; 步驟6 :重復步驟3、步驟4和步驟5,直到所述監(jiān)控任務中的所有進程都執(zhí)行完畢。
2.根據權利要求I所述的方法,其特征在于,步驟I具體包括調用系統(tǒng)APICreateJobOb ject建立安裝包對應的監(jiān)控任務。
3.根據權利要求I所述的方法,其特征在于,步驟2具體包括調用系統(tǒng)APICreateProcess運行所述安裝包,使用AssignProcessToJobObject將所述安裝包的進程加入所述監(jiān)控任務。
4.根據權利要求I所述的方法,其特征在于,步驟3具體包括通過EnumWindows枚舉windows頂層窗體句柄,使用GetWindowThreadProcessId獲取每個頂層窗體句柄所屬的進程。
5.根據權利要求I所述的方法,其特征在于,步驟5具體包括 如果所述文字中包含確認相關的信息,對所述文字相應的控件執(zhí)行點擊操作;如果所述文字中包含選擇相關的信息,對所述文字相應的控件執(zhí)行不選擇操作;如果所述文字中包含路徑相關的信息,在所述文字相應的控件中輸入用戶設定的路徑。
6.根據權利要求5所述的方法,其特征在于, 所述確認相關的信息包括“確認”、“我同意”、“I agree”、“下一步”、以及“完成”; 所述選擇相關的信息包括“插件”、“設為主頁”、以及“收費”選項; 所述路徑相關的信息包括“保存到”、以及“安裝到”。
7.根據權利要求I所述的方法,其特征在于,所述方法還包括對至少兩個安裝包,執(zhí)行權利要求I所述的方法,以實現(xiàn)軟件批量安裝。
8.一種安裝軟件的裝置,其特征在于,所述裝置包括 建立模塊,用于建立安裝包對應的監(jiān)控任務; 添加模塊,用于運行所述安裝包,將所述安裝包的進程加入所述監(jiān)控任務; 第一枚舉和獲取模塊,用于枚舉頂層窗體句柄,獲取每個頂層窗體句柄所屬的進程;第二枚舉和獲取模塊,用于如果頂層窗體句柄所屬的進程在所述監(jiān)控任務中,枚舉所述頂層窗體句柄對應的頂層窗體上所有控件句柄,獲取每個控件句柄上的文字; 執(zhí)行模塊,用于根據所述文字中包含的信息,對所述文字相應的控件執(zhí)行相應的操作; 循環(huán)模塊,用于重復執(zhí)行第一枚舉和獲取模塊、第二枚舉和獲取模塊和執(zhí)行模塊,直到所述監(jiān)控任務中的所有進程都執(zhí)行完畢。
9.根據權利要求8所述的裝置,其特征在于,所述建立模塊,具體用于調用系統(tǒng)APICreate JobOb j ect建立安裝包對應的監(jiān)控任務。
10.根據權利要求8所述的裝置,其特征在于,所述添加模塊,具體用于調用系統(tǒng)APICreateProcess運行所述安裝包,使用AssignProcessToJobOb ject將所述安裝包的進程加入所述監(jiān)控任務。
11.根據權利要求8所述的裝置,其特征在于,所述第一枚舉和獲取模塊,具體用于通過EnumWindows枚舉windows頂層窗體句柄,使用GetWindowThreadProcessId獲取每個頂層窗體句柄所屬的進程。
12.根據權利要求8所述的裝置,其特征在于,所述執(zhí)行模塊,具體用于 如果所述文字中包含確認相關的信息,對所述文字相應的控件執(zhí)行點擊操作;如果所述文字中包含選擇相關的信息,對所述文字相應的控件執(zhí)行不選擇操作;如果所述文字中包含路徑相關的信息,在所述文字相應的控件中輸入用戶設定的路徑。
13.根據權利要求12所述的裝置,其特征在于, 所述確認相關的信息包括“確認”、“我同意”、“I agree”、“下一步”、以及“完成”; 所述選擇相關的信息包括“插件”、“設為主頁”、以及“收費”選項; 所述路徑相關的信息包括“保存到”、以及“安裝到”。
14.根據權利要求8所述的裝置,其特征在于,所述裝置還包括 批量安裝模塊,用于對至少兩個安裝包,執(zhí)行權利要求8所述的裝置,以實現(xiàn)軟件批量安裝。
全文摘要
本發(fā)明公開了一種安裝軟件的方法和裝置,屬于計算機軟件領域。方法包括步驟1建立安裝包對應的監(jiān)控任務;步驟2運行安裝包,將安裝包的進程加入監(jiān)控任務;步驟3枚舉頂層窗體句柄,獲取每個頂層窗體句柄所屬的進程;步驟4如果某一頂層窗體句柄所屬的進程在監(jiān)控任務中,枚舉該頂層窗體句柄對應的頂層窗體上所有控件句柄,獲取每個控件句柄上的文字;步驟5根據文字中包含的信息,對文字相應的控件執(zhí)行相應的操作;步驟6重復步驟3、4和5,直到監(jiān)控任務中的所有進程都執(zhí)行完畢。裝置包括建立模塊、添加模塊、第一和第二枚舉和獲取模塊、執(zhí)行模塊和循環(huán)模塊。本發(fā)明能夠實現(xiàn)安裝包自動安裝完畢,整個安裝過程無須用戶手動干預。
文檔編號G06F9/445GK102681861SQ20111005992
公開日2012年9月19日 申請日期2011年3月14日 優(yōu)先權日2011年3月14日
發(fā)明者胡中興 申請人:騰訊科技(深圳)有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1