BOOL CTBVAutoLauncher::Run() { if (FALSE == ReadConfig()) { CGlobalClass::GetInstance()->GetLogWriter()->WriteLog(LOG_TYPE_ERROR, L"CTBVAutoLauncher - Falure to read configuration"); return FALSE; } CGlobalClass::GetInstance()->GetLogWriter()->WriteLog(LOG_TYPE_FYI, L"CTBVAutoLauncher - Start running TBV1 Launcher"); if (FALSE == StartLauncherProcess()) { CGlobalClass::GetInstance()->GetLogWriter()->WriteLog(LOG_TYPE_ERROR, L"CTBVAutoLauncher - Unable to start launcher process"); return FALSE; } m_hMainWindow = CLauncherEx::WaitForWindow(m_strBV1WindowClass, m_strBV1WindowTitle, m_dwLauncherTimeOut); if (NULL == m_hMainWindow) { CGlobalClass::GetInstance()->GetLogWriter()->WriteLog(LOG_TYPE_ERROR, L"CTBVAutoLauncher - Waiting for TBV1 Game Window Timeout"); KillAll(); return FALSE; } CMyUtils::KillWindowProcess(m_hMainWindow); CreateSourceAndLauncherPath(L"BaVuong2", L"ga2.exe"); ReleaseProcess(); CGlobalClass::GetInstance()->GetLogWriter()->WriteLog(LOG_TYPE_FYI, L"CTBVAutoLauncher - Start running TBV2 Launcher"); m_hMainWindow = StartLauncherWindow(m_strBV2WindowClass, m_strBV2WindowTitle); if (NULL == m_hMainWindow) { CGlobalClass::GetInstance()->GetLogWriter()->WriteLog(LOG_TYPE_ERROR, L"CTBVAutoLauncher - Unable to start launcher process"); return FALSE; } CGlobalClass::GetInstance()->GetLogWriter()->WriteLogFormat(LOG_TYPE_FYI, L"CTBVAutoLauncher - Begin sleeping within %u minute(s)", m_dwTimeOutInMinute); for (int i = 0; i < m_dwTimeOutInMinute; i++) { ::Sleep(1000*60); CGlobalClass::GetInstance()->GetLogWriter()->WriteLogFormat(LOG_TYPE_FYI, L"CTBVAutoLauncher - %d minute(s)", i + 1); } CGlobalClass::GetInstance()->GetLogWriter()->WriteLogFormat(LOG_TYPE_FYI, L"CTBVAutoLauncher - Finish sleeping within %u minute(s)", m_dwTimeOutInMinute); CMyUtils::KillWindowProcess(m_hMainWindow); //::SendMessage(m_hMainWindow, WM_CLOSE, 0, 0); return TRUE; }
/****************************************************************************** 处理名 : 本类的析构处理 函数名 : ~CChannelItem() 参数 : 无 返回值 : 无 ******************************************************************************/ CChannelItem::~CChannelItem(){ ReleaseThread(); ReleaseProcess(); }