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"
14 static WSAData wsaData; //winsockdata
15 static HINTERNET hInternet = NULL;
17 static BOOL InitializeNlite(); //
\83A
\83v
\83\8a\83P
\81[
\83V
\83\87\83\93\8f\89\8aú
\89»
18 static VOID FinalizeNlite(); //
\83A
\83v
\83\8a\83P
\81[
\83V
\83\87\83\93\8fI
\97¹
\8f\88\97\9d
19 static CNliteMainFrame wnd; //
\83\81\83C
\83\93\83t
\83\8c\81[
\83\80\83E
\83B
\83\93\83h
\83E
21 //
\83\81\83C
\83\93\8aÖ
\90\94
22 int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE,
23 LPTSTR lpCmdLine, int nCmdShow)
25 HINSTANCE hRich = LoadLibrary(CRichEditCtrl::GetLibraryName());
30 //
\83A
\83v
\83\8a\83P
\83P
\81[
\83V
\83\87\83\93\8f\89\8aú
\89»
\8f\88\97\9d
32 HRESULT hRes = ::CoInitialize(NULL);
33 ATLASSERT(SUCCEEDED(hRes));
34 AtlInitCommonControls(ICC_COOL_CLASSES | ICC_WIN95_CLASSES);
36 if(_Module.Init(NULL, hInstance,&guid) != S_OK){
37 throw AppInitException(__LINE__,TEXT(__FILE__),TEXT(__FUNCTION__));
42 if(InitializeNlite() != TRUE){
43 throw AppInitException(__LINE__,TEXT(__FILE__),TEXT(__FUNCTION__));
49 //
\83\81\83b
\83Z
\81[
\83W
\83\8b\81[
\83v
\93o
\98^
51 _Module.AddMessageLoop(&theLoop);
54 //
\83\81\83C
\83\93\83E
\83B
\83\93\83h
\83E
\8f\89\8aú
\89»
55 wnd.Initialize(localAppDataPath);
56 wnd.CreateEx(0,0,WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN);
58 //
\83\81\83C
\83\93\83E
\83B
\83\93\83h
\83E
\95\
\8e¦
59 wnd.ShowWindow(nCmdShow);
62 //
\97]
\95ª
\82É
\8am
\95Û
\82µ
\82Ä
\82¢
\82é
\83q
\81[
\83v
\82ð
\8aJ
\95ú
66 //
\83\81\83b
\83Z
\81[
\83W
\83\8b\81[
\83v
\8aJ
\8en
69 //
\8fI
\97¹
\8cã
\83\81\83\82\83\8a\83`
\83F
\83b
\83N
70 vcassert(_heapchk() == _HEAPOK,TEXT("
\83q
\81[
\83v
\83G
\83\89\81[
\82Å
\82·"));
74 } catch(nlite::Exception &e){
76 UnexpectedErrorMessageShow(TEXT("
\83n
\83\93\83h
\83\8b\82³
\82ê
\82Ä
\82¢
\82È
\82¢
\83G
\83\89\81["),e.what(),e.getLineNo(),e.getFileName(),e.getFunctionName());
80 } catch(nlib::Exception &e){
82 UnexpectedErrorMessageShow(TEXT("nlib
\82Å
\83n
\83\93\83h
\83\8b\82³
\82ê
\82Ä
\82¢
\82È
\82¢
\83G
\83\89\81["),e.what(),e.getLineNo(),e.getFileName(),e.getFunctionName());
85 }catch(std::exception &e){
86 UnexpectedErrorMessageShow(TEXT("
\83n
\83\93\83h
\83\8b\82³
\82ê
\82Ä
\82¢
\82È
\82¢
\83G
\83\89\81["),CComBSTR(e.what()),-1,TEXT("
\94
\90¶
\83t
\83@
\83C
\83\8b\82ª
\93Á
\92è
\8fo
\97\88\82Ü
\82¹
\82ñ"),TEXT("
\94
\90¶
\8aÖ
\90\94\82ª
\93Á
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ"));
100 _Module.RemoveMessageLoop();
108 static BOOL InitializeNlite(){
114 nlite::appInfo = &CApplicationInfo::getInstance();
118 //WSAData
\82ð
\8f\89\8aú
\89»
119 while((err = WSAStartup(MAKEWORD(2,0),&wsaData)) == WSASYSNOTREADY){
129 if(err != ERROR_SUCCESS){
131 throw AppInitException(__LINE__,TEXT(__FILE__),TEXT(__FUNCTION__));
134 //
\83A
\83v
\83\8a\83P
\81[
\83V
\83\87\83\93\8fî
\95ñ
\83C
\83\93\83X
\83^
\83\93\83X
\90¶
\90¬
135 const CApplicationInfo &appInfo = CApplicationInfo::getInstance();
136 CNLiteString userAgent;
137 userAgent = appInfo.getProcuctName();
138 userAgent += TEXT("/");
139 userAgent += appInfo.getProductVersion();
143 //HTTP
\83I
\83u
\83W
\83F
\83N
\83g
\90¶
\90¬
144 hInternet = WinHttpOpen(userAgent,WINHTTP_ACCESS_TYPE_DEFAULT_PROXY,(LPCWSTR)WINHTTP_NO_PROXY_NAME,(LPCWSTR)WINHTTP_NO_PROXY_BYPASS,0);
146 if(hInternet == NULL){
148 throw AppInitException(__LINE__,TEXT(__FILE__),TEXT(__FUNCTION__));
152 //nlib
\82Ì
\8f\89\8aú
\89»
153 InitializeNLIB(hInternet);
155 //
\83\8d\81[
\83J
\83\8b\83A
\83v
\83\8a\83P
\81[
\83V
\83\87\83\93\83t
\83H
\83\8b\83_
\8c\9f\8dõ
156 if(SHGetFolderPathW(0,CSIDL_LOCAL_APPDATA,0,SHGFP_TYPE_CURRENT,localAppDataPath) != S_OK){
158 throw AppInitException(__LINE__,TEXT(__FILE__),TEXT(__FUNCTION__));
162 SystemParametersInfo (SPI_SETLISTBOXSMOOTHSCROLLING,FALSE,FALSE,0);
166 if(SHGetFolderPathW(0,CSIDL_APPDATA,0,SHGFP_TYPE_CURRENT,appFolderPath) != S_OK){
168 throw AppInitException(__LINE__,TEXT(__FILE__),TEXT(__FUNCTION__));
170 ncvAppSettingPath = appFolderPath;
171 ncvAppSettingPath += TEXT("\\posite-c\\NiconamaCommentViewer\\AppSetting.xml");
173 }catch (AppInitException e){
184 VOID FinalizeNlite(){
186 //
\83\81\83C
\83\93\83t
\83\8c\81[
\83\80\83E
\83B
\83\93\83h
\83E
\8cã
\8f\88\97\9d
189 //nlib
\8cã
\8f\88\97\9d
192 //HTTP
\83I
\83u
\83W
\83F
\83N
\83g
\8aJ
\95ú
193 WinHttpCloseHandle(hInternet);