為 URLDownloadToFile 實現進度條

2021-05-24 00:45:30 字數 791 閱讀 4080

1。建立乙個ibindstatuscallback的派生類,宣告ibindstatuscallback的8個方法。由於ibindstatuscallback繼承自iunknown,所以還要宣告iunknown的3個方法。下面的為個人使用.具體方法的原型宣告可以參照msdn,

2。可以控制顯示進度條的是ibindstatuscallback::onprogress,只要實現這個方法就行,ibindstatuscallback的其他7個方法ie是不會呼叫的,直接告訴ie這個我沒實現,通通 return e_notimpl    (not implemented)。另外iunknown的addref 和 release 分別是給呼叫介面增加引用計數 和 減少引用計數的,也用不到直接都返回0就可以了,iunknown的另乙個方法 queryinte***ce也 return e_notimpl。

3。派生類建立好之後,就很簡單了,直接給urldownloadtofile的最後乙個引數傳個指向派生類例項的指標就大功告成了

我定義了乙個cbindcallback類,類的宣告:

some tips:

b.過載ibindstatuscallback的getbindinfo方法,指定bindf_getnewestversion和bindf_nowritecache屬性,但是我測試發現即使指定這兩個屬性urldownloadtofile還是會很執著的讀快取,鬱悶。
4。cbindcallback有個成員變數用來傳遞進度條所在的視窗控制代碼m_pdlg,當然這個也可以用其他方式實現。

5。

個人為小?團隊為大?家事為小?國事為大?

參與工作以來,幾乎所有公司都會宣告我們需要有團隊精神的員工,而幾乎所有面試者都會強調自己具備很好的團隊精神,包括我。但是什麼是團隊呢?團隊精神又具體的落實在哪些地方呢?人之性格千奇百怪,一群人如何能團結起來形成團隊?為什麼在幾乎所有公司和員工都不停強調團隊的時候,是否看見著名的28定律又在演出?80...

JS判斷是否為數字,是否為整數,是否為浮點數

正規表示式方法 function checkrate input 下面為普通函式寫法 function baseisnotnum thenum return false function baseisnotint theint return false function baseisnotfloat...

js判斷是否為數字, 是否為整數, 是否為浮點數

正規表示式方法 筆者測試可用 function checkrate input function baseisnotnum thenum return false function baseisnotint theint return false function baseisnotfloat th...