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

Windows自動(dòng)更新API (一)

系統(tǒng) 4594 0

前幾天寫過關(guān)于Vista下防火墻的設(shè)置,今天覺得防火墻都有對(duì)應(yīng)的API,那自動(dòng)更新是否有相應(yīng)的API呢?Vista下的與Xp下的有多少不同呢?帶著這個(gè)疑問開始一天的調(diào)查。

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

要操作Windows Update相應(yīng)類,必須了解他們之間的關(guān)系,如圖所示:

WUA

從上圖不難發(fā)現(xiàn),AutomaticUpdatesClass只是自動(dòng)更新的設(shè)置類,關(guān)于所有自動(dòng)更新的類都通過UpdateSessionClass。

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

可以直接修改
AutomaticUpdatesNotificationLevel屬性以及ScheduledInstallationDay和ScheduledInstallationTime
設(shè)置完后調(diào)用IAutomaticUpdatesSettings的Save方法。
IAutomaticUpdatesSettings實(shí)例通過AutomaticUpdatesClass對(duì)象的Settings屬性獲得。

在該AutomaticUpdatesClass類中,可以調(diào)用EnableService方法啟動(dòng)自動(dòng)更新服務(wù),只有當(dāng)自動(dòng)更新服務(wù)啟動(dòng)后,通過讀取自動(dòng)更新設(shè)置,來從MS網(wǎng)站獲取更新內(nèi)容。通常情況下,自動(dòng)更新服務(wù)都是設(shè)置為自動(dòng)啟動(dòng)。

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

當(dāng)服務(wù)啟動(dòng)后,可以使用下面3個(gè)方法:
DetectNow:開始更新
Pause:暫停更新
Resume:恢復(fù)更新
參考代碼:

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

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

參考代碼:

當(dāng)我調(diào)查到這里的時(shí)候,想做一個(gè)軟件,可以自己來實(shí)現(xiàn)更多的操作,對(duì)自動(dòng)更新來說。
大家有什么好的想法,可以告訴我,謝謝~~~。

文中有錯(cuò)誤的地方,希望指正。

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

Windows自動(dòng)更新API (一)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

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

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 锦屏县| 四会市| 保山市| 个旧市| 徐水县| 横峰县| 尼玛县| 团风县| 中方县| 宿松县| 巩留县| 中江县| 盖州市| 永登县| 泌阳县| 苏尼特右旗| 邯郸市| 怀化市| 汉阴县| 唐海县| 平遥县| 辽阳县| 五大连池市| 渝中区| 秦安县| 和硕县| 嘉黎县| 六枝特区| 平陆县| 班玛县| 吴堡县| 莱州市| 赣榆县| 栾城县| 东乡族自治县| 准格尔旗| 阳曲县| 平果县| 吴桥县| 平乐县| 大理市|