L"ventoy\\plugson.tar.xz does not exist, please run under the correct directory!",\r
};\r
\r
+#define UTF8_Log(fmt, wstr) \\r
+{\\r
+ memset(TmpPathA, 0, sizeof(TmpPathA));\\r
+ WideCharToMultiByte(CP_UTF8, 0, wstr, -1, TmpPathA, sizeof(TmpPathA), NULL, NULL);\\r
+ vlog(fmt, TmpPathA);\\r
+}\r
+\r
+\r
const WCHAR **g_msg_lang = NULL;\r
\r
HINSTANCE g_hInst;\r
{\r
InitDialog(hWnd, wParam, lParam);\r
break;\r
- } \r
+ }\r
case WM_CLOSE:\r
{\r
if (g_running)\r
\r
OnDestroyDialog();\r
EndDialog(hWnd, 0);\r
+ break;\r
}\r
}\r
\r
{\r
int i;\r
int rc;\r
+ int status = 0;\r
HANDLE hMutex;\r
+ WCHAR* Pos = NULL;\r
WCHAR CurDir[MAX_PATH];\r
+ WCHAR ExePath[MAX_PATH];\r
+ WCHAR CurDirBk[MAX_PATH];\r
+ WCHAR ExePathBk[MAX_PATH];\r
+ CHAR TmpPathA[MAX_PATH];\r
\r
UNREFERENCED_PARAMETER(hPrevInstance);\r
\r
}\r
\r
GetCurrentDirectoryW(MAX_PATH, CurDir);\r
+ GetCurrentDirectoryW(MAX_PATH, CurDirBk);\r
+ GetModuleFileNameW(NULL, ExePath, MAX_PATH);\r
+ GetModuleFileNameW(NULL, ExePathBk, MAX_PATH);\r
+\r
+ for (Pos = NULL, i = 0; i < MAX_PATH && ExePath[i]; i++)\r
+ {\r
+ if (ExePath[i] == '\\' || ExePath[i] == '/')\r
+ {\r
+ Pos = ExePath + i;\r
+ }\r
+ }\r
+\r
+ if (Pos)\r
+ {\r
+ *Pos = 0;\r
+ if (wcscmp(CurDir, ExePath))\r
+ {\r
+ status |= 1;\r
+ SetCurrentDirectoryW(ExePath);\r
+ GetCurrentDirectoryW(MAX_PATH, CurDir);\r
+ }\r
+ else\r
+ {\r
+ status |= 2;\r
+ }\r
+ }\r
+\r
+ Pos = wcsstr(CurDir, L"\\altexe");\r
+ if (Pos)\r
+ {\r
+ *Pos = 0;\r
+ status |= 4;\r
+ SetCurrentDirectoryW(CurDir);\r
+ }\r
+\r
+\r
WideCharToMultiByte(CP_UTF8, 0, CurDir, -1, g_cur_dir, MAX_PATH, NULL, 0);\r
\r
sprintf_s(g_ventoy_dir, sizeof(g_ventoy_dir), "%s", g_cur_dir);\r
- sprintf_s(g_log_file, sizeof(g_log_file), "%s\\%s", g_cur_dir, LOG_FILE);\r
+ sprintf_s(g_log_file, sizeof(g_log_file), "%s", LOG_FILE);\r
ventoy_log_init();\r
\r
+ vlog("====================== Ventoy Plugson =========================\n");\r
+\r
+ UTF8_Log("Current Directory <%s>\n", CurDirBk);\r
+ UTF8_Log("Exe file path <%s>\n", ExePathBk);\r
+ \r
+ if (status & 1)\r
+ {\r
+ UTF8_Log("Change current dir to exe <%s>\n", ExePath);\r
+ }\r
+ if (status & 2)\r
+ {\r
+ vlog("Current directory check OK.\n");\r
+ }\r
+ if (status & 4)\r
+ {\r
+ UTF8_Log("altexe detected, change current dir to <%s>\n", CurDir);\r
+ }\r
+\r
+\r
if (!ventoy_is_file_exist("%s\\ventoy\\%s", g_ventoy_dir, PLUGSON_TXZ))\r
{ \r
MessageBoxW(NULL, g_msg_lang[MSGID_NO_TARXZ_TIP], g_msg_lang[MSGID_ERROR], MB_OK | MB_ICONERROR);\r
}\r
\r
vlog("===============================================\n");\r
- vlog("===== Ventoy Plugson %s:%s =====\n", g_sysinfo.ip, g_sysinfo.port);\r
+ vlog("========= Ventoy Plugson %s:%s =========\n", g_sysinfo.ip, g_sysinfo.port);\r
vlog("===============================================\n");\r
\r
\r
ventoy_http_init();\r
\r
g_hInst = hInstance;\r
- DialogBoxA(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), NULL, DialogProc);\r
+ DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), NULL, DialogProc);\r
\r
return 0;\r
}\r