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.
|
|
/*++
Copyright (c) 2000 Microsoft Corporation
Module Name:
eZippy Main
Abstract:
Entrypoint for eZippy.
Author:
Marc Reyhner 8/28/00
--*/
#include "stdafx.h"
#include "eZippy.h"
#include "ZippyWindow.h"
#include "TraceManager.h"
#include "resource.h"
// instantiation of the g_hInstance variable
HINSTANCE g_hInstance = NULL;
int WINAPI WinMain( IN HINSTANCE hInstance, IN HINSTANCE hPrevInstance, IN LPSTR lpCmdLine, IN int nCmdShow )
/*++
Routine Description:
This sets up the trace manager and the zippy window then does the event loop.
Arguments:
See win32 WinMain docs
Return value: 0 - Success
Non zero - some error
--*/ { INITCOMMONCONTROLSEX controlStruct; MSG msg; DWORD dwResult; CZippyWindow mainWindow; CTraceManager tracer; LPTSTR lpstrCmdLine; HACCEL hAccel;
g_hInstance = hInstance;
controlStruct.dwSize = sizeof(controlStruct); controlStruct.dwICC = ICC_BAR_CLASSES; InitCommonControlsEx(&controlStruct);
CTraceManager::_InitTraceManager(); dwResult = mainWindow.Create(&tracer); if (lpCmdLine && lpCmdLine[0]) { // kill any leading and trailing " marks
lpstrCmdLine = GetCommandLine(); if (lpstrCmdLine[0] == '"') { lpstrCmdLine++; lpstrCmdLine[_tcslen(lpstrCmdLine)-1] = 0; } mainWindow.LoadConfFile(lpstrCmdLine); }
tracer.StartListenThread(&mainWindow);
if (dwResult) { return dwResult; }
hAccel = LoadAccelerators(hInstance,MAKEINTRESOURCE(IDR_ACCELERATOR));
while (0 < GetMessage(&msg,NULL,0,0)) { if (mainWindow.IsDialogMessage(&msg)) { // if it is a dialog message we are done
// processing this message
continue; } if (!mainWindow.TranslateAccelerator(hAccel,&msg)) { TranslateMessage(&msg); DispatchMessage(&msg); } }
CTraceManager::_CleanupTraceManager(); return 0; }
INT LoadStringSimple( IN UINT uID, OUT LPTSTR lpBuffer )
/*++
Routine Description:
This will load the given string from the applications string table. If it is longer than MAX_STR_LEN it is truncated. lpBuffer should be at least MAX_STR_LEN characters long. If the string does not exist we return 0 and set the buffer to IDS_STRINGMISSING, if that failes then we set it to the hard coded STR_RES_MISSING.
Arguments:
uID - Id of the resource to load.
lpBuffer - Buffer of MAX_STR_LEN to hold the string
Return value: 0 - String resource could not be loaded.
postive integer - length of the string loaded.
--*/ { INT length; length = LoadString(g_hInstance,uID,lpBuffer,MAX_STR_LEN); if (length == 0) { length = LoadString(g_hInstance,IDS_STRINGMISSING,lpBuffer,MAX_STR_LEN); if (length == 0) { _tcscpy(lpBuffer,_T("")); } length = 0; }
return length; }
|