日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Windows自動更新API (一)

系統 4528 0

前幾天寫過關于Vista下防火墻的設置,今天覺得防火墻都有對應的API,那自動更新是否有相應的API呢?Vista下的與Xp下的有多少不同呢?帶著這個疑問開始一天的調查。

查了很多資料找到要操作Windows Update必須經由Windows Update Agent(WUA)。
在Vista和Xp下,該wuapi.dll都能找到(Windows/System32下),奇怪的是,Vista下該dll的版本是6.0,而Xp下是5.8,不知道改動點在哪里,粗略查看了里面的主要的類,發現并沒改動什么,難道只是內部函數的調整?

要操作Windows Update相應類,必須了解他們之間的關系,如圖所示:

WUA

從上圖不難發現,AutomaticUpdatesClass只是自動更新的設置類,關于所有自動更新的類都通過UpdateSessionClass。

取得自動更新的所有設置,以及如何改變設置:
通過實例化一個AutomaticUpdatesClass類,然后訪問它的Settings屬性,該屬性中:
NotificationLevel:自動更新的動作(自動/無效/通知后下載/下載后通知),枚舉類型
ScheduledInstallationDay:自動下載是每星期幾(從星期一到星期天),枚舉類型
ScheduledInstallationTime:自動下載的時間(從0點到23點)

可以直接修改
AutomaticUpdatesNotificationLevel屬性以及ScheduledInstallationDay和ScheduledInstallationTime
設置完后調用IAutomaticUpdatesSettings的Save方法。
IAutomaticUpdatesSettings實例通過AutomaticUpdatesClass對象的Settings屬性獲得。

在該AutomaticUpdatesClass類中,可以調用EnableService方法啟動自動更新服務,只有當自動更新服務啟動后,通過讀取自動更新設置,來從MS網站獲取更新內容。通常情況下,自動更新服務都是設置為自動啟動。

當然你也可以通過程序啟動,該服務啟動后,自動設為自動啟動(無論你原先是手動還是無效),MS沒有提供方法將該服務停止關閉。

當服務啟動后,可以使用下面3個方法:
DetectNow:開始更新
Pause:暫停更新
Resume:恢復更新
參考代碼:

大家都知道控制面板中的自動更新的設置是沒有代理選項的,那到底自動更新支持代理嗎?
當然支持,自動更新會根據IE瀏覽器中的代理設置連接,但是當代理服務器需要用戶名和密碼呢?
這樣只能通過程序來設置了。UpdateSessionClass類就提供該功能。

實例化該類后,通過訪問該類的WebProxy屬性得到WebProxyClass類的實例。
可以設置WebProxyClass類的二個屬性,并調用一個方法即可。
Address:代理的地址
UserName:用戶名
SetPassword(string strPassword):設置密碼

參考代碼:

當我調查到這里的時候,想做一個軟件,可以自己來實現更多的操作,對自動更新來說。
大家有什么好的想法,可以告訴我,謝謝~~~。

文中有錯誤的地方,希望指正。

國內沒有好的這方面的資料,可以參考MS的MSDN。
參考:
Interfaces (Windows)
Using the Windows Update Agent API (Windows)
Windows Update Agent Object Model (Windows)

Windows自動更新API (一)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 绍兴县| 麻江县| 遂川县| 麻城市| 四子王旗| 和平县| 民权县| 成武县| 武宁县| 阜新| 杭锦后旗| 玉田县| 井冈山市| 北票市| 玉溪市| 高邮市| 杭州市| 清流县| 渭南市| 柳河县| 定结县| 卢龙县| 石楼县| 怀柔区| 满洲里市| 木兰县| 政和县| 通州市| 清水县| 沙湾县| 赤城县| 拜城县| 乃东县| 金昌市| 德州市| 昆山市| 象州县| 庆云县| 景洪市| 依兰县| 湘潭市|