BOOL OnCreate( LPCREATESTRUCT lpCreateStruct ){ m_pWorkItem = CreateThreadpoolWork( WorkerThread, this, NULL ); if( m_pWorkItem == NULL ){ return FALSE; } m_btnStart.Create(this, 10, 10, 100, 25, IDC_START_BTN, _T("START")); m_btnStart.SetFont(); m_ListBox.Create(this, 10, 30, 200, 200, IDC_LISTBOX); m_ListBox.SetFont(); cmd.Initialize( this ); cmd.Register( IDC_START_BTN, &CMainForm::OnStartBatch ); msg.Initialize( this ); msg.Register( WM_APP_COMPLETED, &CMainForm::OnCompleted ); return TRUE; }