Apply Wim with no progress bar.
-
In this days i'm writing a software to use for recovery PC. My software is complete but i need a progress bar moves during file extraction, i am trying but in 10 days nothing. How i can solve??? i post only the complete wim code. Please help me :( // WimApplyProgressDlg.cpp : file di implementazione // #include "stdafx.h" #include "WimApplyProgress.h" #include "WimApplyProgressDlg.h" #include <wimgapi.h> #ifdef _DEBUG #define new DEBUG_NEW #endif CProgressCtrl *Progress = new CProgressCtrl; CWimApplyProgressDlg::CWimApplyProgressDlg(CWnd* pParent /*=NULL*/) : CDialog(CWimApplyProgressDlg::IDD, pParent) { m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); } void CWimApplyProgressDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(CWimApplyProgressDlg, CDialog) ON_WM_PAINT() ON_WM_QUERYDRAGICON() //}}AFX_MSG_MAP ON_BN_CLICKED(IDOK, &CWimApplyProgressDlg::OnBnClickedOk) END_MESSAGE_MAP() // gestori di messaggi di CWimApplyProgressDlg BOOL CWimApplyProgressDlg::OnInitDialog() { CDialog::OnInitDialog(); // Impostare l'icona per questa finestra di dialogo. Il framework non esegue questa operazione automaticamente // se la finestra principale dell'applicazione non è una finestra di dialogo. SetIcon(m_hIcon, TRUE); // Impostare icona grande. SetIcon(m_hIcon, FALSE); // Impostare icona piccola. Progress->Create(WS_CHILD | WS_VISIBLE, CRect(10, 10, 288, 35), this,0x16); Progress->SetRange(1, 100); Progress->SetPos(0); return TRUE; // restituisce TRUE a meno che non venga impostato lo stato attivo su un controllo. } // Se si aggiunge alla finestra di dialogo un pulsante di riduzione a icona, per trascinare l'icona sarà necessario // il codice sottostante. Per le applicazioni MFC che utilizzano il modello documento/visualizzazione, // questa operazione viene eseguita automaticamente dal framework. void CWimAppl
-
In this days i'm writing a software to use for recovery PC. My software is complete but i need a progress bar moves during file extraction, i am trying but in 10 days nothing. How i can solve??? i post only the complete wim code. Please help me :( // WimApplyProgressDlg.cpp : file di implementazione // #include "stdafx.h" #include "WimApplyProgress.h" #include "WimApplyProgressDlg.h" #include <wimgapi.h> #ifdef _DEBUG #define new DEBUG_NEW #endif CProgressCtrl *Progress = new CProgressCtrl; CWimApplyProgressDlg::CWimApplyProgressDlg(CWnd* pParent /*=NULL*/) : CDialog(CWimApplyProgressDlg::IDD, pParent) { m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); } void CWimApplyProgressDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(CWimApplyProgressDlg, CDialog) ON_WM_PAINT() ON_WM_QUERYDRAGICON() //}}AFX_MSG_MAP ON_BN_CLICKED(IDOK, &CWimApplyProgressDlg::OnBnClickedOk) END_MESSAGE_MAP() // gestori di messaggi di CWimApplyProgressDlg BOOL CWimApplyProgressDlg::OnInitDialog() { CDialog::OnInitDialog(); // Impostare l'icona per questa finestra di dialogo. Il framework non esegue questa operazione automaticamente // se la finestra principale dell'applicazione non è una finestra di dialogo. SetIcon(m_hIcon, TRUE); // Impostare icona grande. SetIcon(m_hIcon, FALSE); // Impostare icona piccola. Progress->Create(WS_CHILD | WS_VISIBLE, CRect(10, 10, 288, 35), this,0x16); Progress->SetRange(1, 100); Progress->SetPos(0); return TRUE; // restituisce TRUE a meno che non venga impostato lo stato attivo su un controllo. } // Se si aggiunge alla finestra di dialogo un pulsante di riduzione a icona, per trascinare l'icona sarà necessario // il codice sottostante. Per le applicazioni MFC che utilizzano il modello documento/visualizzazione, // questa operazione viene eseguita automaticamente dal framework. void CWimAppl
You need to put your lenghty processing in a separate thread. Here[^] is an excellent article that will get you started about threading.
Cédric Moonen Software developer
Charting control [v2.0] OpenGL game tutorial in C++