Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//------------------------------------------------------------------------
//
// File: shell\themes\test\ctlperf\CtlPerf.cpp
//
// Contents: Main source file for CtlPerf.exe
// This file was generated by the WTL app wizard.
//
// Classes: None
//
//------------------------------------------------------------------------
#include "stdafx.h"
#include <atlframe.h>
#include "resource.h"
#include "CtlPerfView.h"
#include "aboutdlg.h"
#include "MainFrm.h"
CAppModule _Module;
//------------------------------------------------------------------------
//
// Function: Run
//
// Synopsis: Create main window and start message loop
//
//------------------------------------------------------------------------
int Run(LPTSTR lpstrCmdLine = NULL, int /*nCmdShow*/ = SW_SHOWDEFAULT) { CMessageLoop theLoop; _Module.AddMessageLoop(&theLoop);
CMainFrame wndMain;
if(wndMain.CreateEx() == NULL) { ATLTRACE(_T("Main window creation failed!\n")); return 0; }
wndMain.ShowWindow(SW_MAXIMIZE);
//** Parse command line
if (lpstrCmdLine) { ::CharLower(lpstrCmdLine);
LPTSTR p = _tcsstr(lpstrCmdLine, _T("/l")); TCHAR pszLogFileName[_MAX_PATH + 1];
if(p) // Copy the log file name
{ _tcscpy(pszLogFileName, p + 2); p = pszLogFileName; while (*p && *p != _T(' ')) { p++; } if (*p) { *p = _T('\0'); } }
// We communicate by messages with the main frame (the only thing we know from here)
// that will forward to the view
if (_tcsstr(lpstrCmdLine, _T("1pass"))) { wndMain.PostMessage(WM_COMMAND, IDM_BATCH1, p ? (LPARAM) pszLogFileName : 0); } else if (_tcsstr(lpstrCmdLine, _T("2pass"))) { if(_tcsstr(lpstrCmdLine, _T("/s"))) { wndMain.PostMessage(WM_COMMAND, IDM_BATCH3, p ? (LPARAM) pszLogFileName : 0); } else { wndMain.PostMessage(WM_COMMAND, IDM_BATCH2, p ? (LPARAM) pszLogFileName : 0); } } }
int nRet = theLoop.Run();
_Module.RemoveMessageLoop(); return nRet; }
//------------------------------------------------------------------------
//
// Function: _tWinMain
//
// Synopsis: Main entry point
//
//------------------------------------------------------------------------
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));
#if (_WIN32_IE >= 0x0300)
INITCOMMONCONTROLSEX iccx; iccx.dwSize = sizeof(iccx); //iccx.dwICC = ICC_COOL_CLASSES | ICC_BAR_CLASSES;
iccx.dwICC = 0x3FFF; BOOL bRet = ::InitCommonControlsEx(&iccx); bRet; ATLASSERT(bRet); #else
::InitCommonControls(); #endif
hRes = _Module.Init(NULL, hInstance); ATLASSERT(SUCCEEDED(hRes));
int nRet = Run(lpstrCmdLine, nCmdShow);
_Module.Term(); ::CoUninitialize();
return nRet; }
|