\r
// プロセス保護\r
#ifdef ENABLE_PROCESS_PROTECTION\r
- DWORD ProtectLevel;\r
- char* pCommand;\r
- char Option[FMAX_PATH+1];\r
- ProtectLevel = PROCESS_PROTECTION_NONE;\r
- pCommand = lpszCmdLine;\r
- while(pCommand = GetToken(pCommand, Option))\r
{\r
- if(strcmp(Option, "--protect") == 0)\r
+ DWORD ProtectLevel;\r
+ char* pCommand;\r
+ char Option[FMAX_PATH+1];\r
+ ProtectLevel = PROCESS_PROTECTION_NONE;\r
+ pCommand = lpszCmdLine;\r
+ while(pCommand = GetToken(pCommand, Option))\r
{\r
- ProtectLevel = PROCESS_PROTECTION_DEFAULT;\r
- break;\r
- }\r
- else if(strcmp(Option, "--protect-high") == 0)\r
- {\r
- ProtectLevel = PROCESS_PROTECTION_HIGH;\r
- break;\r
- }\r
- else if(strcmp(Option, "--protect-medium") == 0)\r
- {\r
- ProtectLevel = PROCESS_PROTECTION_MEDIUM;\r
- break;\r
+ if(strcmp(Option, "--protect") == 0)\r
+ {\r
+ ProtectLevel = PROCESS_PROTECTION_DEFAULT;\r
+ break;\r
+ }\r
+ else if(strcmp(Option, "--protect-high") == 0)\r
+ {\r
+ ProtectLevel = PROCESS_PROTECTION_HIGH;\r
+ break;\r
+ }\r
+ else if(strcmp(Option, "--protect-medium") == 0)\r
+ {\r
+ ProtectLevel = PROCESS_PROTECTION_MEDIUM;\r
+ break;\r
+ }\r
+ else if(strcmp(Option, "--protect-low") == 0)\r
+ {\r
+ ProtectLevel = PROCESS_PROTECTION_LOW;\r
+ break;\r
+ }\r
}\r
- else if(strcmp(Option, "--protect-low") == 0)\r
+ if(ProtectLevel != PROCESS_PROTECTION_NONE)\r
{\r
- ProtectLevel = PROCESS_PROTECTION_LOW;\r
- break;\r
- }\r
- }\r
- if(ProtectLevel != PROCESS_PROTECTION_NONE)\r
- {\r
- SetProcessProtectionLevel(ProtectLevel);\r
- if(!InitializeLoadLibraryHook())\r
- {\r
- MessageBox(NULL, MSGJPN321, "FFFTP", MB_OK | MB_ICONERROR);\r
- return 0;\r
- }\r
+ SetProcessProtectionLevel(ProtectLevel);\r
+ if(!InitializeLoadLibraryHook())\r
+ {\r
+ MessageBox(NULL, MSGJPN321, "FFFTP", MB_OK | MB_ICONERROR);\r
+ return 0;\r
+ }\r
#ifndef _DEBUG\r
- if(IsDebuggerPresent())\r
- {\r
- MessageBox(NULL, MSGJPN322, "FFFTP", MB_OK | MB_ICONERROR);\r
- return 0;\r
- }\r
+ if(IsDebuggerPresent())\r
+ {\r
+ MessageBox(NULL, MSGJPN322, "FFFTP", MB_OK | MB_ICONERROR);\r
+ return 0;\r
+ }\r
#endif\r
- if(!UnloadUntrustedModule())\r
- {\r
- MessageBox(NULL, MSGJPN323, "FFFTP", MB_OK | MB_ICONERROR);\r
- return 0;\r
- }\r
+ if(!UnloadUntrustedModule())\r
+ {\r
+ MessageBox(NULL, MSGJPN323, "FFFTP", MB_OK | MB_ICONERROR);\r
+ return 0;\r
+ }\r
#ifndef _DEBUG\r
- if(RestartProtectedProcess(" --restart"))\r
- return 0;\r
+ if(RestartProtectedProcess(" --restart"))\r
+ return 0;\r
#endif\r
- if(!EnableLoadLibraryHook(TRUE))\r
- {\r
- MessageBox(NULL, MSGJPN324, "FFFTP", MB_OK | MB_ICONERROR);\r
- return 0;\r
+ if(!EnableLoadLibraryHook(TRUE))\r
+ {\r
+ MessageBox(NULL, MSGJPN324, "FFFTP", MB_OK | MB_ICONERROR);\r
+ return 0;\r
+ }\r
}\r
+ else\r
+ InitializeLoadLibraryHook();\r
}\r
- else\r
- InitializeLoadLibraryHook();\r
#endif\r
\r
// マルチコアCPUの特定環境下でファイル通信中にクラッシュするバグ対策\r
RegisterTrustedModuleSHA1Hash("\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00");\r
#endif\r
// デバッグ用\r
-// g_hPuTTY = LoadLibrary("putty.dll");\r
- g_hPuTTY = LoadLibrary("C:\\SourceForge\\ffftp\\putty\\Debug\\PuTTY.dll");\r
+#ifdef _DEBUG\r
+ {\r
+ char Path[MAX_PATH];\r
+ GetModuleFileName(NULL, Path, MAX_PATH);\r
+ strcpy(strrchr(Path, '\\'), "\\..\\putty\\Debug\\PuTTY.dll");\r
+ g_hPuTTY = LoadLibrary(Path);\r
+ }\r
+#else\r
+ g_hPuTTY = LoadLibrary("putty.dll");\r
+#endif\r
if(!g_hPuTTY\r
|| !(p_SFTP_Create = (_SFTP_Create)GetProcAddress(g_hPuTTY, "SFTP_Create"))\r
|| !(p_SFTP_Destroy = (_SFTP_Destroy)GetProcAddress(g_hPuTTY, "SFTP_Destroy"))\r