int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPTSTR /*lpstrCmdLine*/, int /*nCmdShow*/) { HRESULT hRes = ::CoInitialize(NULL); // If you are running on NT 4.0 or higher you can use the following call instead to // make the EXE free threaded. This means that calls come in on a random RPC thread. // HRESULT hRes = ::CoInitializeEx(NULL, COINIT_MULTITHREADED); ATLASSERT(SUCCEEDED(hRes)); // this resolves ATL window thunking problem when Microsoft Layer for Unicode (MSLU) is used ::DefWindowProc(NULL, 0, 0, 0L); AtlInitCommonControls(ICC_BAR_CLASSES); // add flags to support other controls hRes = _Module.Init(NULL, hInstance); ATLASSERT(SUCCEEDED(hRes)); int nRet = 0; // BLOCK: Run application { CMainDlg dlgMain; nRet = dlgMain.DoModal(); } _Module.Term(); ::CoUninitialize(); return nRet; }
BOOL CYTGetApp::InitInstance() { AfxEnableControlContainer(); // Standard initialization // If you are not using these features and wish to reduce the size // of your final executable, you should remove from the following // the specific initialization routines you do not need. #ifdef _AFXDLL Enable3dControls(); // Call this when using MFC in a shared DLL #else Enable3dControlsStatic(); // Call this when linking to MFC statically #endif Init(); CMainDlg dlg; m_pMainWnd = &dlg; int nResponse = dlg.DoModal(); if (nResponse == IDOK) { // TODO: Place code here to handle when the dialog is // dismissed with OK } else if (nResponse == IDCANCEL) { // TODO: Place code here to handle when the dialog is // dismissed with Cancel } DeInit(); // Since the dialog has been closed, return FALSE so that we exit the // application, rather than start the application's message pump. return FALSE; }
int Run(LPTSTR /*lpstrCmdLine*/ = NULL, int nCmdShow = SW_SHOWDEFAULT) { CMessageLoop theLoop; _Module.AddMessageLoop(&theLoop); CMainDlg dlgMain; if(GetCrashInfoThroughPipe( dlgMain.m_sAppName, dlgMain.m_sImageName, dlgMain.m_sEmailSubject, dlgMain.m_sEmailTo, dlgMain.m_sUrl, &dlgMain.m_uPriorities, dlgMain.m_sZipName, dlgMain.m_pUDFiles)!=0) return 1; if(dlgMain.Create(NULL) == NULL) { ATLTRACE(_T("Main dialog creation failed!\n")); return 0; } dlgMain.ShowWindow(nCmdShow); int nRet = theLoop.Run(); _Module.RemoveMessageLoop(); return nRet; }
void StopServer() { if (!beRunning || completionPort == NULL) { return; } beRunning = false; //清理完成端口 PostQueuedCompletionStatus(completionPort, 0xFFFFFFFF, 0, 0); CloseHandle(completionPort); completionPort = NULL; citylamp.ClearLampID2LampMutexSockMap(); closemysocket(server_sock); { MutexGuard guard(PCClientListMutex); list<PCClient*>::iterator lt_it = PCClientList.begin(); while (lt_it != PCClientList.end()) { closemysocket((*lt_it)->GetDataSocket()); ++lt_it; } } //等待pcclientthread线程全部终止 while (PCClientList.size() > 0 || citylamp.GetLampIDCount() > 0) { Sleep(200); } dlgMain.PostMessageW(WM_UPDATELAMPLIST_MESSAGE, 2, 0); dlgMain.PostMessageW(WM_UPDATEPCLIST_MESSAGE, 2, 0); }
int Run(LPTSTR /*lpstrCmdLine*/ = NULL, int nCmdShow = SW_SHOWDEFAULT) { CMessageLoop theLoop; _Module.AddMessageLoop(&theLoop); // Get command line params LPCWSTR szCommandLine = GetCommandLineW(); int argc = 0; LPWSTR* argv = CommandLineToArgvW(szCommandLine, &argc); CMainDlg dlgMain; if(argc==2 && wcscmp(argv[1], L"/restart")==0) dlgMain.m_bRestarted = TRUE; else dlgMain.m_bRestarted = FALSE; if(dlgMain.Create(NULL) == NULL) { ATLTRACE(_T("Main dialog creation failed!\n")); return 0; } dlgMain.ShowWindow(nCmdShow); int nRet = theLoop.Run(); _Module.RemoveMessageLoop(); return nRet; }
extern "C" __declspec(dllexport) BOOL ShowMainWnd() { AFX_MANAGE_STATE(AfxGetStaticModuleState()); CoInitialize(NULL); AfxEnableControlContainer(); AfxInitRichEdit(); CMainDlg dlg; theApp.m_pMainWnd = &dlg; //GDI+ ULONG_PTR gdiplusToken; GdiplusStartupInput gdiplusStartupInput; Gdiplus::GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL); if (dlg.DoModal() == -1) { TRACE(traceAppMsg, 0, "警告: 对话框创建失败,应用程序将意外终止。\n"); TRACE(traceAppMsg, 0, "警告: 如果您在对话框上使用 MFC 控件,则无法 #define _AFX_NO_MFC_CONTROLS_IN_DIALOGS。\n"); return FALSE; } //关闭gdiplus的环境 Gdiplus::GdiplusShutdown(gdiplusToken); if (theApp.IsUpdata) { return -1; } return TRUE; }
//-------------------------------------------------------------------------------- BOOL CTokenEditorApp::InitInstance() { if (!AfxSocketInit()) { AfxMessageBox(IDP_SOCKETS_INIT_FAILED); return FALSE; } // Standard initialization // If you are not using these features and wish to reduce the size // of your final executable, you should remove from the following // the specific initialization routines you do not need. #ifdef _AFXDLL Enable3dControls(); // Call this when using MFC in a shared DLL #else Enable3dControlsStatic(); // Call this when linking to MFC statically #endif CGenRandomTable tbl; CMainDlg dlg; m_pMainWnd = &dlg; int nResponse = dlg.DoModal(); // Since the dialog has been closed, return FALSE so that we exit the // application, rather than start the application's message pump. return FALSE; }
int WINAPI _tWinMain( HINSTANCE hInst, HINSTANCE, LPTSTR, int ) { _tsetlocale( LC_ALL, _T(".OCP") ); ATLVERIFY( SUCCEEDED( _Module.Init( NULL, hInst ) ) ); if( !EnableDebugPrivilege() ) { MessageBoxV( NULL, IDS_NO_DEBUG_PRIVILEGE, MB_OK | MB_ICONHAND ); return 0; } InitializeCriticalSection( &g_cs ); LoadInternalExceptionList(); LoadSettings(); DumpInit(); if( !ProcessCommandLine() ) { AtlInitCommonControls( ICC_BAR_CLASSES ); LoadLibrary( CRichEditCtrl::GetLibraryName() ); CMainDlg dlgMain; g_pMainWnd = &dlgMain; int nRet = dlgMain.DoModal(); g_pMainWnd = NULL; } DumpUninit(); SaveSettings(); DeleteCriticalSection( &g_cs ); _Module.Term(); return 0; }
BOOL CMFCApplicationApp::InitInstance() { // 如果一个运行在 Windows XP 上的应用程序清单指定要 // 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式, //则需要 InitCommonControlsEx()。 否则,将无法创建窗口。 INITCOMMONCONTROLSEX InitCtrls; InitCtrls.dwSize = sizeof(InitCtrls); // 将它设置为包括所有要在应用程序中使用的 // 公共控件类。 InitCtrls.dwICC = ICC_WIN95_CLASSES; InitCommonControlsEx(&InitCtrls); CWinApp::InitInstance(); // 创建 shell 管理器,以防对话框包含 // 任何 shell 树视图控件或 shell 列表视图控件。 CShellManager *pShellManager = new CShellManager; // 激活“Windows Native”视觉管理器,以便在 MFC 控件中启用主题 CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerWindows)); // 标准初始化 // 如果未使用这些功能并希望减小 // 最终可执行文件的大小,则应移除下列 // 不需要的特定初始化例程 // 更改用于存储设置的注册表项 // TODO: 应适当修改该字符串, // 例如修改为公司或组织名 SetRegistryKey(_T("应用程序向导生成的本地应用程序")); CMainDlg dlg; m_pMainWnd = &dlg; INT_PTR nResponse = dlg.DoModal(); if (nResponse == IDOK) { // TODO: 在此放置处理何时用 // “确定”来关闭对话框的代码 } else if (nResponse == IDCANCEL) { // TODO: 在此放置处理何时用 // “取消”来关闭对话框的代码 } else if (nResponse == -1) { TRACE(traceAppMsg, 0, "警告: 对话框创建失败,应用程序将意外终止。\n"); TRACE(traceAppMsg, 0, "警告: 如果您在对话框上使用 MFC 控件,则无法 #define _AFX_NO_MFC_CONTROLS_IN_DIALOGS。\n"); } // 删除上面创建的 shell 管理器。 if (pShellManager != NULL) { delete pShellManager; } // 由于对话框已关闭,所以将返回 FALSE 以便退出应用程序, // 而不是启动应用程序的消息泵。 return FALSE; }
int Run(LPTSTR /*lpstrCmdLine*/ = NULL, int nCmdShow = SW_SHOWDEFAULT) { // For logging; redirects output so that it works with the allocated console if (::AllocConsole()) { ::freopen("CONOUT$", "w", stdout); auto h = ::GetStdHandle(STD_OUTPUT_HANDLE); // For nowide; output is not displayed otherwise nowide::cout.set_rdbuf(new nowide::details::my_console_output_buffer(h)); } bool shouldBeVerbose = true; if (shouldBeVerbose) { using namespace vanhelsing::engine; Log::SetLogLevelFilter(LogLevel::Trace); } CMessageLoop theLoop; _Module.AddMessageLoop(&theLoop); CMainDlg dlgMain; if(dlgMain.Create(NULL) == NULL) { ATLTRACE(_T("Main dialog creation failed!\n")); return 0; } dlgMain.ShowWindow(nCmdShow); int nRet = theLoop.Run(); _Module.RemoveMessageLoop(); return nRet; }
DWORD WINAPI CMainDlg::DomainScanThread(LPVOID lparam) { ThreadParameter *par = (ThreadParameter *)lparam; CMainDlg *pThis = par->pThis; CString strDomain = par->strDomain; CString strIP, strHostName; strIP = GetIP(par->strDomain, strHostName); if (strIP != "") { par->strIP = strIP; par->strHostName = strHostName; if (pThis->m_checkGetDetailInfo) par->strServerInfo = GetServerDetailInfo(strDomain, par->strTitle); EnterCriticalSection(&pThis->cs); pThis->SendMessage(WM_ON_INSERT_RESULT, 0, (LPARAM)par);//OnMessageInsertResult LeaveCriticalSection(&pThis->cs); } EnterCriticalSection(&pThis->cs); ++pThis->m_nIpScanned; if (pThis->dwThreadsUsed) --pThis->dwThreadsUsed; ReleaseSemaphore(pThis->hSemaphore, 1, 0); LeaveCriticalSection(&pThis->cs); //delete par; return 0; }
int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPTSTR /*lpstrCmdLine*/, int /*nCmdShow*/) { HRESULT hRes = ::CoInitialize(NULL); //初始化COM // If you are running on NT 4.0 or higher you can use the following call instead to // make the EXE free threaded. This means that calls come in on a random RPC thread. // HRESULT hRes = ::CoInitializeEx(NULL, COINIT_MULTITHREADED); ATLASSERT(SUCCEEDED(hRes)); // this resolves ATL window thunking problem when Microsoft Layer for Unicode (MSLU) is used ::DefWindowProc(NULL, 0, 0, 0L); AtlInitCommonControls(ICC_BAR_CLASSES); // add flags to support other controls hRes = _Module.Init(NULL, hInstance); //全局对象_Module被初始化 ATLASSERT(SUCCEEDED(hRes)); BkString::Load(IDR_BK_STRING_DEF); //加载指定资源ID的string定义xml BkFontPool::SetDefaultFont(BkString::Get(IDS_APP_FONT), -12); BkSkin::LoadSkins(IDR_BK_SKIN_DEF); //加载指定资源ID的skin定义xml BkStyle::LoadStyles(IDR_BK_STYLE_DEF); //加载指定资源ID的Style定义xml int nRet = 0; // BLOCK: Run application, 将CMainDlg变量放在一个区块中是很重要的 { CMainDlg dlgMain; nRet = dlgMain.DoModal(); } _Module.Term(); ::CoUninitialize(); return nRet; }
int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPTSTR lpstrCmdLine, int nCmdShow) { HRESULT hRes = ::CoInitialize(NULL); // If you are running on NT 4.0 or higher you can use the following call instead to // make the EXE free threaded. This means that calls come in on a random RPC thread. // HRESULT hRes = ::CoInitializeEx(NULL, COINIT_MULTITHREADED); ATLASSERT(SUCCEEDED(hRes)); // this resolves ATL window thunking problem when Microsoft Layer for Unicode (MSLU) is used ::DefWindowProc(NULL, 0, 0, 0L); AtlInitCommonControls(ICC_BAR_CLASSES); // add flags to support other controls //hRes = _Module.Init(NULL, hInstance); GUID guid; hRes = _Module.Init(NULL,hInstance,&guid); ATLASSERT(SUCCEEDED(hRes)); BkString::Load(IDR_BK_STRING_DEF); BkFontPool::SetDefaultFont(BkString::Get(IDS_APP_FONT), -12); BkSkin::LoadSkins(IDR_BK_SKIN_DEF); BkStyle::LoadStyles(IDR_BK_STYLE_DEF); CMainDlg dlgMain; dlgMain.DoModal(); _Module.Term(); ::CoUninitialize(); return 0; }
BOOL CThisApp::InitInstance() { CWinApp::InitInstance(); // Standard initialization // If you are not using these features and wish to reduce the size // of your final executable, you should remove from the following // the specific initialization routines you do not need // Change the registry key under which our settings are stored // TODO: You should modify this string to be something appropriate // such as the name of your company or organization SetRegistryKey(_T("Local AppWizard-Generated Applications")); CMainDlg dlg; m_pMainWnd = &dlg; INT_PTR nResponse = dlg.DoModal(); if (nResponse == IDOK) { // TODO: Place code here to handle when the dialog is // dismissed with OK } else if (nResponse == IDCANCEL) { // TODO: Place code here to handle when the dialog is // dismissed with Cancel } // Since the dialog has been closed, return FALSE so that we exit the // application, rather than start the application's message pump. return FALSE; }
int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPTSTR lpstrCmdLine, int /*nCmdShow*/) { #ifdef _DEBUG // bkconsole console; #endif // BkWinManager bkwinmgr; BkFontPool::SetDefaultFont(_T("���ו"), -12); CString strPath; GetModuleFileName((HMODULE)&__ImageBase, strPath.GetBuffer(MAX_PATH + 10), MAX_PATH); strPath.ReleaseBuffer(); strPath.Truncate(strPath.ReverseFind(L'\\') + 1); strPath += L"res"; BkResManager::SetResourcePath(strPath); BkSkin::LoadSkins(IDR_BK_SKIN_DEF); BkStyle::LoadStyles(IDR_BK_STYLE_DEF); BkString::Load(IDR_BK_STRING_DEF); CMainDlg dlg; HANDLE hEventQuit = NULL; HANDLE hSingleProcess = CreateEvent(NULL,FALSE,FALSE,L"quick serach"); if (GetLastError() == ERROR_ALREADY_EXISTS) { SetEvent(hSingleProcess); goto Exit0; } KContextSingletion::GetInstance()->m_hInstance = hInstance; KContextSingletion::GetInstance()->m_threadPool.Init(); KJobCreateIndextable* pJobCreateIndextable = new KJobCreateIndextable(NULL); KContextSingletion::GetInstance()->m_threadPool.PostJob(pJobCreateIndextable); hEventQuit = CreateEvent(NULL,FALSE,FALSE,NULL); KJobSingleProcess* pJobSingleProcess = new KJobSingleProcess(hSingleProcess,hEventQuit); KContextSingletion::GetInstance()->m_threadPool.PostJob(pJobSingleProcess); dlg.DoModal(NULL); SetEvent(hEventQuit); KContextSingletion::GetInstance()->m_threadPool.UnInit(); Exit0: if (hEventQuit != NULL) { CloseHandle(hEventQuit); } if (hSingleProcess != NULL) { CloseHandle(hSingleProcess); } return 0; }
int Run(LPTSTR lpstrCmdLine = NULL, int nCmdShow = SW_SHOWDEFAULT) { CMessageLoop theLoop; _Module.AddMessageLoop(&theLoop); CMainDlg dlgMain; if(dlgMain.Create(NULL) == NULL) { ATLTRACE(_T("Main dialog creation failed!\n")); return 0; } if(dlgMain.openPreview() == NULL) { ATLTRACE(_T("Preview Window creation failed!\n")); return 0; } dlgMain.ShowWindow(nCmdShow); if(lpstrCmdLine){ char buf[256]; wcstombs(buf, lpstrCmdLine, sizeof buf); dlgMain.OpenModel(buf); } int nRet = theLoop.Run(); _Module.RemoveMessageLoop(); return nRet; }
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { lpCmdLine = GetCommandLine(); //this line necessary for _ATL_MIN_CRT HRESULT hRes = CoInitialize(NULL); _ASSERTE(SUCCEEDED(hRes)); _Module.Init(0, hInstance, &LIBID_ATLLib); CMainDlg mainDlg; g_pMainWin = &mainDlg; mainDlg.Create(NULL); mainDlg.ShowWindow(SW_SHOW); MSG msg; while (GetMessage(&msg, 0, 0, 0)) { if (!IsDialogMessage(mainDlg, &msg)) { TranslateMessage(&msg); DispatchMessage(&msg); } } _Module.Term(); CoUninitialize(); return msg.wParam; }
int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPTSTR /*lpstrCmdLine*/, int /*nCmdShow*/) { HRESULT hRes = ::CoInitializeEx(NULL, COINIT_MULTITHREADED); ATLASSERT(SUCCEEDED(hRes)); // this resolves ATL window thunking problem when Microsoft Layer for Unicode (MSLU) is used ::DefWindowProc(NULL, 0, 0, 0L); AtlInitCommonControls(ICC_BAR_CLASSES); // add flags to support other controls hRes = _Module.Init(NULL, hInstance); ATLASSERT(SUCCEEDED(hRes)); int nRet = 0; // BLOCK: Run application { CMainDlg dlgMain; nRet = dlgMain.DoModal(); } _Module.Term(); ::CoUninitialize(); return nRet; }
int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPTSTR /*lpstrCmdLine*/, int /*nCmdShow*/) { HRESULT hRes = ::CoInitialize(NULL); // If you are running on NT 4.0 or higher you can use the following call instead to // make the EXE free threaded. This means that calls come in on a random RPC thread. // HRESULT hRes = ::CoInitializeEx(NULL, COINIT_MULTITHREADED); ATLASSERT(SUCCEEDED(hRes)); // this resolves ATL window thunking problem when Microsoft Layer for Unicode (MSLU) is used //::DefWindowProc(NULL, 0, 0, 0L); AtlInitCommonControls(ICC_BAR_CLASSES); // add flags to support other controls hRes = _Module.Init(NULL, hInstance); ATLASSERT(SUCCEEDED(hRes)); CMessageLoop theLoop; CMessageFilter * filter = new CMouseWheelFilter(); theLoop.AddMessageFilter(filter); _Module.AddMessageLoop(&theLoop); CMainDlg dlgMain; dlgMain.Create(NULL); dlgMain.ShowWindow(SW_NORMAL); int nRet = theLoop.Run(); delete filter; _Module.RemoveMessageLoop(); //_Module.Term(); ::CoUninitialize(); return nRet; }
int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPTSTR /*lpstrCmdLine*/, int /*nCmdShow*/) { HRESULT hRes = ::CoInitialize(NULL); ATLASSERT(SUCCEEDED(hRes)); INITCOMMONCONTROLSEX iccx; iccx.dwSize = sizeof(iccx); iccx.dwICC = ICC_COOL_CLASSES | ICC_BAR_CLASSES; BOOL bRet = ::InitCommonControlsEx(&iccx); bRet; ATLASSERT(bRet); hRes = _Module.Init(NULL, hInstance); ATLASSERT(SUCCEEDED(hRes)); int nRet; { CMainDlg dlgMain; nRet = dlgMain.DoModal(); } _Module.Term(); ::CoUninitialize(); return nRet; }
int Run(LPTSTR /*lpstrCmdLine*/ = NULL, int nCmdShow = SW_SHOWDEFAULT) { CMessageLoop theLoop; _Module.AddMessageLoop(&theLoop); BkString::Load(IDR_STRING_DEF); // ╪стьвж╥Ш╢╝ BkSkin::LoadSkins(IDR_SKIN_DEF); // ╪стьф╓╥Т BkStyle::LoadStyles(IDR_STYLE_DEF); // ╪сть╥Г╦Я CMainDlg dlgMain; if(dlgMain.Create(NULL) == NULL) { DWORD dwErr = GetLastError(); ATLTRACE(_T("Main dialog creation failed!\n")); return 0; } dlgMain.ShowWindow(nCmdShow); int nRet = theLoop.Run(); _Module.RemoveMessageLoop(); return nRet; }
BOOL CMainApp::InitInstance() { // 如果一个运行在 Windows XP 上的应用程序清单指定要 // 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式, //则需要 InitCommonControlsEx()。否则,将无法创建窗口。 INITCOMMONCONTROLSEX InitCtrls; InitCtrls.dwSize = sizeof(InitCtrls); // 将它设置为包括所有要在应用程序中使用的 // 公共控件类。 InitCtrls.dwICC = ICC_WIN95_CLASSES; InitCommonControlsEx(&InitCtrls); CWinApp::InitInstance(); g_Profile.Init(theApp); AfxEnableControlContainer(); // 创建 shell 管理器,以防对话框包含 // 任何 shell 树视图控件或 shell 列表视图控件。 CShellManager *pShellManager = new CShellManager; // 标准初始化 // 如果未使用这些功能并希望减小 // 最终可执行文件的大小,则应移除下列 // 不需要的特定初始化例程 // 更改用于存储设置的注册表项 // TODO: 应适当修改该字符串, // 例如修改为公司或组织名 SetRegistryKey(_T("应用程序向导生成的本地应用程序")); _tsetlocale(LC_CTYPE, _T("chs")); AfxInitRichEdit2(); CMainDlg dlg; m_pMainWnd = &dlg; INT_PTR nResponse = dlg.DoModal(); if (nResponse == IDOK) { // TODO: 在此放置处理何时用 // “确定”来关闭对话框的代码 } else if (nResponse == IDCANCEL) { // TODO: 在此放置处理何时用 // “取消”来关闭对话框的代码 } // 删除上面创建的 shell 管理器。 if (pShellManager != NULL) { delete pShellManager; } // 由于对话框已关闭,所以将返回 FALSE 以便退出应用程序, // 而不是启动应用程序的消息泵。 return FALSE; }
void CXfilterDlg::OnMain() { CMainDlg *dlg = new CMainDlg; dlg->Create(IDD_MAIN, this); dlg->ShowWindow(SW_SHOW); dlg->UpdateWindow(); // dlg.DoModal(); }
virtual BOOL InitApplication() { CMainDlg dlg; dlg.DoModal(); Dialog2 dlg2; dlg2.DoModal(); //AfxMessageBox("由Win32工程转换而成的MFC软件工程"); return TRUE; }
BOOL __stdcall SetLrcStyle(void *pUser) { if (NULL != pUser) { CMainDlg *pThis = (CMainDlg *)pUser; pThis->ChangeLrcFont(); } return TRUE; }
int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE, wchar_t* lpstrCmdLine, int nCmdShow){ HRESULT hRes = ::OleInitialize(NULL); ::DefWindowProc(NULL, 0, 0, 0L); AtlInitCommonControls(ICC_BAR_CLASSES | ICC_DATE_CLASSES);//Add flags to support other controls hRes = _Module.Init(NULL, hInstance); int nRet = 0; wchar_t pszLoader[MAX_PATH]; ::GetModuleFileName(NULL, pszLoader, MAX_PATH); CheckVersion(pszLoader); _6bees_socket::ftpclient ftpClient; _6bees_timer::CTimer m_Timer; //UPLOADERMODE mode; vector<wstring> vec_files; //ParseCmdline(stringmaker(CP_ACP)<<lpstrCmdLine,mode,&vec_files); if (lpstrCmdLine==NULL){ }else if (_6bees_str::startwith<wstring>(lpstrCmdLine,L"-m upload ")){ wstring cmdline(lpstrCmdLine); cmdline = cmdline.substr(10); vec_files = _6bees_util::Split(cmdline,L"|"); } // 1. If there is an uploader already, then open it and upload HWND hwndTo = ::FindWindow(0,_6bees_const::kUploader_WndTitle); if(hwndTo){ wstring filelist;//f will be like:XXX YYY ZZZ for(int i=0;i<(int)vec_files.size();i++){ filelist.append(vec_files[i] + ((i==(int)vec_files.size()-1)?_T(""):_T("\t"))); } SendMsgToUploader(hwndTo,(stringmaker()<<filelist).c_str(),CPYDATA_UPLOAD_2_UPLOAD); }else{ // 2. open a new uploader CMainDlg dlgMain; int mssize=0; if(vec_files.empty()){ CString strFolderPath,strFileName; dlgMain.PopDlgtoSelectFiles(strFolderPath,strFileName,mssize); }else{ for(vector<wstring>::const_iterator i=vec_files.begin();i!=vec_files.end();++i){ if(!PathIsDirectory(i->c_str()) && PathFileExists(i->c_str()) && GetFileSizeW(i->c_str(),mssize)) { CFileProfile fileProfile(0,i->c_str(),mssize); dlgMain.AddUploadFile(fileProfile); } } } if(!dlgMain.IsEmpty()) nRet = (int)dlgMain.DoModal(); } _Module.Term(); ::OleUninitialize(); return nRet; }
int StreamDirectReadCallback(ULONG channelNumber, void * DataBuf,DWORD Length, int FrameType, void *context) { CMainDlg * mainDlg; mainDlg = (CMainDlg *)context; mainDlg->SaveStreamData(channelNumber, DataBuf, Length, FrameType); return 0; }
int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPTSTR /*lpstrCmdLine*/, int /*nCmdShow*/) { //HRESULT hRes = CoInitialize(NULL); OleInitialize(NULL); //DUIASSERT(SUCCEEDED(hRes)); // CLSID iecls=CLSID_InternetExplorer; // IUnknown *pwb; // HRESULT hres = CoCreateInstance(iecls, NULL, // CLSCTX_LOCAL_SERVER, IID_IUnknown, (void **)&pwb); TCHAR szCurrentDir[MAX_PATH+1]; memset( szCurrentDir, 0, sizeof(szCurrentDir) ); GetModuleFileName( NULL, szCurrentDir, MAX_PATH ); LPTSTR lpInsertPos = _tcsrchr( szCurrentDir, _T('\\') ); *lpInsertPos = _T('\0'); DuiSystem duiSystem(hInstance); DefaultLogger loger; loger.setLogFilename(CDuiStringT(szCurrentDir)+_T("\\duiengine.log")); duiSystem.SetLogger(&loger); duiSystem.logEvent(_T("demo started")); #ifdef __DUIFILE_RC //从文件夹加载皮肤,指定皮肤位置 _tcscat( szCurrentDir, _T("\\..\\skin") ); DuiResProviderFiles *pResFiles=new DuiResProviderFiles; if(!pResFiles->Init(szCurrentDir)) { DUIASSERT(0); return 1; } duiSystem.SetResProvider(pResFiles); #else //从资源加载皮肤 duiSystem.SetResProvider(new DuiResProviderPE(hInstance)); #endif BOOL bOK=duiSystem.Init(_T("IDR_DUI_INIT")); //初始化DUI系统,原来的系统初始化方式依然可以使用。 duiSystem.SetMsgBoxTemplate(_T("IDR_DUI_MSGBOX")); int nRet = 0; // BLOCK: Run application { CMainDlg dlgMain; nRet = dlgMain.DoModal(); } duiSystem.logEvent(_T("demo end")); delete duiSystem.GetResProvider(); // CoUninitialize(); OleUninitialize(); return nRet; }
// ³ÌÐòÈë¿Ú int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { CMainDlg dlg; dlg.DoModal(); return 0; }
int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPTSTR /*lpstrCmdLine*/, int /*nCmdShow*/) { CScintillaModule sciMod; if(!sciMod) return -1; HRESULT hRes = CoInitialize(NULL); DUIASSERT(SUCCEEDED(hRes)); TCHAR szCurrentDir[MAX_PATH+1]; memset( szCurrentDir, 0, sizeof(szCurrentDir) ); GetModuleFileName( NULL, szCurrentDir, MAX_PATH ); LPTSTR lpInsertPos = _tcsrchr( szCurrentDir, _T('\\') ); *lpInsertPos = _T('\0'); DuiSystem duiSystem(hInstance); DefaultLogger loger; loger.setLogFilename(CDuiStringT(szCurrentDir)+_T("\\duiengine.log")); duiSystem.SetLogger(&loger); duiSystem.logEvent(_T("demo started")); #ifdef __DUIFILE_RC //从文件夹加载皮肤,指定皮肤位置 _tcscat( szCurrentDir, _T("\\..\\skin") ); DuiResProviderFiles *pResFiles=new DuiResProviderFiles; if(!pResFiles->Init(szCurrentDir)) { DUIASSERT(0); return 1; } duiSystem.SetResProvider(pResFiles); #else //从资源加载皮肤 duiSystem.SetResProvider(new DuiResProviderPE(hInstance)); #endif BOOL bOK=duiSystem.Init(_T("IDR_DUI_INIT")); //初始化DUI系统,原来的系统初始化方式依然可以使用。 duiSystem.SetMsgBoxTemplate(_T("IDR_DUI_MSGBOX")); //注册图片预览控件 RegSkinViewClass(); DuiWindowFactoryManager::getSingleton().RegisterFactory(TplDuiWindowFactory<CDuiColorPicker>()); int nRet = 0; // BLOCK: Run application { CMainDlg dlgMain; nRet = dlgMain.DoModal(); } duiSystem.logEvent(_T("demo end")); delete duiSystem.GetResProvider(); CoUninitialize(); return nRet; }