1 // nlite.cpp :
\83A
\83v
\83\8a\83P
\81[
\83V
\83\87\83\93\82Ì
\83G
\83\93\83g
\83\8a \83|
\83C
\83\93\83g
\82ð
\92è
\8b`
\82µ
\82Ü
\82·
\81B
5 #include "nlite_include.h"
10 const nlite::CApplicationInfo* appInfo = NULL;
12 static WSAData wsaData; //winsockdata
13 static HINTERNET hInternet = NULL;
15 static BOOL InitializeNlite(); //
\83A
\83v
\83\8a\83P
\81[
\83V
\83\87\83\93\8f\89\8aú
\89»
16 static VOID FinalizeNlite(); //
\83A
\83v
\83\8a\83P
\81[
\83V
\83\87\83\93\8fI
\97¹
\8f\88\97\9d
17 int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE,
18 LPTSTR lpCmdLine, int nCmdShow)
23 if(_Module.Init(NULL, hInstance) != S_OK){
24 throw AppInitException(__LINE__,TEXT(__FILE__));
27 if(InitializeNlite() != TRUE){
28 throw AppInitException(__LINE__,TEXT(__FILE__));
35 _Module.AddMessageLoop(&theLoop);
37 //
\93Æ
\8e©
\83E
\83B
\83\93\83h
\83E
\82ð
\8dì
\90¬
39 wnd.CreateEx(0,0,WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN);
40 wnd.ShowWindow(nCmdShow);
49 vcassert(_heapchk() == _HEAPOK,TEXT("
\83q
\81[
\83v
\83G
\83\89\81[
\82Å
\82·"));
52 } catch(nlite::Exception &e){
53 tstring errMessage(TEXT("
\83G
\83\89\81[
\83\81\83b
\83Z
\81[
\83W:"));
54 errMessage += e.what();
55 errMessage += TEXT("\r\n
\8ds
\94Ô
\8d\86:");
56 std::wostringstream num;
58 errMessage += num.str();
59 errMessage += TEXT("\r\n
\83t
\83@
\83C
\83\8b\96¼:");
60 errMessage += e.getFileName();
62 MessageBox(NULL,errMessage.c_str(),TEXT("
\83n
\83\93\83h
\83\8b\82³
\82ê
\82Ä
\82È
\82¢
\83G
\83\89\81["),MB_ICONERROR | MB_OK);
63 }catch(std::exception &e){
65 MessageBoxA(NULL,e.what(),"
\83n
\83\93\83h
\83\8b\82³
\82ê
\82Ä
\82È
\82¢
\95s
\96¾
\82Ì
\83G
\83\89\81[",MB_ICONERROR | MB_OK);
67 _Module.RemoveMessageLoop();
75 static BOOL InitializeNlite(){
81 appInfo = &CApplicationInfo::getInstance();
85 //WSAData
\82ð
\8f\89\8aú
\89»
86 while((err = WSAStartup(MAKEWORD(2,0),&wsaData)) == WSASYSNOTREADY){
96 if(err != ERROR_SUCCESS){
98 throw AppInitException(__LINE__,TEXT(__FILE__));
101 const CApplicationInfo &appInfo = CApplicationInfo::getInstance();
103 userAgent.reserve(256);
104 userAgent = appInfo.getProcuctName();
105 userAgent += TEXT("/");
106 userAgent += appInfo.getProductVersion();
109 hInternet = WinHttpOpen(userAgent.c_str(),WINHTTP_ACCESS_TYPE_DEFAULT_PROXY,(LPCWSTR)WINHTTP_NO_PROXY_NAME,(LPCWSTR)WINHTTP_NO_PROXY_BYPASS,0);
111 if(hInternet == NULL){
113 throw AppInitException(__LINE__,TEXT(__FILE__));
117 InitializeNLIB(hInternet);
119 }catch (AppInitException e){
134 VOID FinalizeNlite(){
137 WinHttpCloseHandle(hInternet);