第一件事:我沒有經驗的面向對象編程,無論如何。我在學校創建了我的VB腳本和一些Java腳本,但就是這樣。所以我的問題很可能在那裏。但是,儘管如此,在過去的幾天裏,我一直在嘗試讓一些小應用程序一起使用,以便我掃描,選擇和安裝Windows更新。到目前爲止,我已經能夠理解大多數參考文獻,並且在互聯網上發佈了幾篇文章的幫助,現在我可以選擇並下載更新。C#和WUAPI:BeginDownload函數
到目前爲止,我已經能夠下載使用下面的代碼更新的集合:
UpdateCollection CurrentInstallCollection = (UpdateCollection)e.Argument;
UpdateDownloader CurrentDownloader = CurrentSession.CreateUpdateDownloader();
CurrentDownloader.Updates = CurrentInstallCollection;
這是在後臺工作,並返回運行一次下載完成。它工作得很好,我可以看到更新在文件系統上下載,但沒有真正的方法來顯示應用程序內的進度。要做這樣的事情,有IDownloadJob接口,允許我使用下載器(UpdateSession.CreateUpdateDownloader)的.BeginDownload方法...我想,至少。 :D然後問題出現了:我現在已經嘗試了大約6個小時以使代碼正常工作,但無論我嘗試什麼都沒有成功。此外,沒有太多的信息,各地有關.BeginDownload方法在互聯網上(或者至少看起來是這樣),但我的方法的調用不起作用:
IDownloadJob CurrentDownloadJob = CurrentDownloader.BeginDownload();
我不知道是什麼提供參數...我嘗試過方法,對象...無濟於事。代碼的完整塊看起來是這樣的:
UpdateCollection CurrentInstallCollection = (UpdateCollection)e.Argument;
UpdateDownloader CurrentDownloader = CurrentSession.CreateUpdateDownloader();
CurrentDownloader.Updates = CurrentInstallCollection;
IDownloadJob CurrentDownloadJob = CurrentDownloader.BeginDownload();
IDownloadProgress CurrentJobProgess = CurrentDownloadJob.GetProgress();
tbStatus.Text = Convert.ToString(CurrentJobProgess.PercentComplete);
我發現一個來源,與.BeginDownload(this,this,this)
調用該方法的互聯網,這並不在代碼編輯器報告任何錯誤,但可能不會與報表上的幫助因爲我的理解是,所提供的參數是所描述事件發生時調用的方法(進度已更改或下載完成)。
我也試過,但它沒有工作,要麼:
http://social.msdn.microsoft.com/Forums/en/csharpgeneral/thread/636a8399-2bc1-46ff-94df-a58cebfe688c
的BeginDownload方法的詳細說明:
http://msdn.microsoft.com/en-us/library/aa386132(v=VS.85).aspx
WUAPI參考:
不幸的是,我不允許發佈該鏈接,但是到BeginDownload方法的鏈接仍然存在到同一個地方。 :)
我知道,這是相當多的要求,但如果有人能指出我在正確的方向(如哪些參數傳遞和如何),這將非常感激! :)
任何人都知道如何設置獲取更新的語言? w/.Search(「IsInstalled = 0 AND IsPresent = 0」);我得到所有的語言,我幾乎去了拉脫維亞,但能夠取消。 – DukeDidntNukeEm