2011-03-04 27 views
1

那麼,我正在使用UpdateResource將文件嵌入到可執行文件。 它工作正常,但我想知道是否有可能使用ProgressBar顯示更新進度?如何在知道工作進度的情況下更新資源?

+0

我很好奇,你在做什麼導致UpdateResource需要這麼長時間才需要回調?它只是一個非常大的文件? – 2011-03-04 21:56:18

+0

@David:它可能是一個大文件。用戶實際選擇它。 – Javid 2011-03-04 22:07:53

+1

嗯..無論如何,進度條都是謊言。鑑於響應表明不可能真正知道你的%完成,你可能只想使用微調。 – 2011-03-04 22:51:54

回答

6

由於沒有傳入回調函數,因此無法接收進度信息。另外,在調用EndUpdateResource之前,UpdateResource實際上並沒有更新文件,所以在調用UpdateResource時,實際上沒有任何進展要報告。

從MSDN:

應用程序可以使用UpdateResource反覆修改的資源數據。對UpdateResource的每個調用都會貢獻內部添加,刪除和替換列表,但實際上並不將數據寫入hUpdate指示的文件。應用程序必須使用EndUpdateResource函數將累積的更改寫入文件。

+1

小挑逗。 'UpdateResource'可以消耗時間。這是一個事務接口,但這並不一定意味着所有的計算都發生在事務的提交階段。 – 2011-03-04 22:00:58

+0

但是沒有其他方式來做到這一點(UpdateResource旁邊的東西)? – Javid 2011-03-04 22:07:16

+1

可執行格式已定義良好。你可以編寫你自己的UpdateResource版本。 – 2011-03-04 22:14:17

相關問題