簡體   English   中英

c ++ MFC使用進度條執行三個連續的進程

[英]c++ MFC execute three consecutive processes with a progress bar

感謝您閱讀我的帖子。 這是我的問題:

我需要一個接一個地安裝(運行)三個程序:P1,P2和P3。

如果未正確安裝P1,則P2安裝將失敗。

如果未正確安裝P1和P2,則P3安裝將失敗。

除此之外,我需要一個對話框,其中顯示一個進度條並顯示安裝進度:

  • 安裝P1后,進度條將設置為1/3滿,
  • 安裝P2后,進度條將設置為2/3滿,
  • 安裝P3后,進度條將設置為3/3滿。

我正在使用C ++和MFC。

我問自己是否應該:

  • 使用“ CreateProcess()”函數為P1創建一個進程,為P2創建一個進程,為P3創建一個進程( http://msdn.microsoft.com/zh-cn/library/windows/desktop/ms682425%28v=vs。 85%29.aspx )。 我已經嘗試過此選項,但是要確保在開始P2安裝之前完成P1安裝以及在開始P3安裝之前先安裝P1和P2以及將進度條與這些安裝同步是很困難的。
  • 具有X個線程:一個主要顯示進度條的主線程,一個(或幾個線程)用於安裝P1,P2和P3。

所以我有兩個問題要解決:

  • 陸續推出三套裝置,
  • 有一個對話框,顯示安裝進度。

你能告訴我你會怎么做嗎?

我要問自己的另一個問題是,是否可以使用線程來啟動“ msiexec”之類的命令?

最好的祝福。

在對話框中,創建Pn(n = 1、2、3)后,啟動一個計時器,該計時器定期調用GetExitCodeProcess,直到退出代碼不是STILL_ACTIVE (259); 確認退出代碼不是錯誤,更新進度條並開始下一個過程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM