X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/Ventoy.git/blobdiff_plain/dcc588967716395dfdb51be9dcd24e64145edd1b..d9182dbfa4fde93adb0b038d3d66f2d68e55cefd:/Plugson/src/main_windows.c diff --git a/Plugson/src/main_windows.c b/Plugson/src/main_windows.c index 066eb63..7eea976 100644 --- a/Plugson/src/main_windows.c +++ b/Plugson/src/main_windows.c @@ -1,4 +1,4 @@ -#include +#include #include #include #include @@ -10,8 +10,9 @@ #include #include -char g_ventoy_dir[MAX_PATH]; +char g_ventoy_dir[MAX_PATH]; +static BOOL g_ChromeFirst = TRUE; static BOOL g_running = FALSE; static HWND g_refresh_button; static HWND g_start_button; @@ -44,22 +45,22 @@ typedef enum MSGID const WCHAR *g_msg_cn[MSGID_BUTT] = { - L"´íÎó", - L"ÌáÐÑ", - L"ÇëÔÚ Ventoy Å̸ùĿ¼ÏÂÔËÐб¾³ÌÐò£¡£¨´æ·ÅISOÎļþµÄλÖã©", - L"´´½¨ ventoy Ŀ¼ʧ°Ü£¬ÎÞ·¨¼ÌÐø£¡", - L"ventoy Ŀ¼´æÔÚ£¬µ«ÊÇ´óСд²»Æ¥Å䣬ÇëÏȽ«ÆäÖØÃüÃû£¡", - L"ÄÚ²¿´íÎ󣬳ÌÐò¼´½«Í˳ö£¡", - L"Ë¢ÐÂ", - L"Æô¶¯", - L"Í£Ö¹", - L"Á´½Ó", - L"Í˳ö", - - L"Í£Ö¹ÔËÐкóä¯ÀÀÆ÷Ò³Ãæ½«»á¹Ø±Õ£¬ÊÇ·ñ¼ÌÐø£¿", - L"µ±Ç°·þÎñÕýÔÚÔËÐУ¬ÊÇ·ñÍ˳ö£¿", - L"ÇëÏȹرÕÕýÔÚÔËÐÐµÄ VentoyPlugson ³ÌÐò£¡", - L"ventoy\\plugson.tar.xz Îļþ²»´æÔÚ£¬ÇëÔÚÕýÈ·µÄĿ¼ÏÂÔËÐУ¡", + L"错误", + L"提醒", + L"请在 Ventoy 盘根目录下运行本程序!(存放ISO文件的位置)", + L"创建 ventoy 目录失败,无法继续!", + L"ventoy 目录存在,但是大小写不匹配,请先将其重命名!", + L"内部错误,程序即将退出!", + L"刷新", + L"启动", + L"停止", + L"链接", + L"退出", + + L"停止运行后浏览器页面将会关闭,是否继续?", + L"当前服务正在运行,是否退出?", + L"请先关闭正在运行的 VentoyPlugson 程序!", + L"ventoy\\plugson.tar.xz 文件不存在,请在正确的目录下运行!", }; const WCHAR *g_msg_en[MSGID_BUTT] = { @@ -93,7 +94,7 @@ void ventoy_log_exit(void); static BOOL OnDestroyDialog() { - ventoy_http_exit(); + ventoy_http_exit(); ventoy_disk_exit(); #ifndef VENTOY_SIM ventoy_www_exit(); @@ -118,14 +119,17 @@ static void OpenURL(void) sprintf_s(url, sizeof(url), "http://%s:%s/index.html", g_sysinfo.ip, g_sysinfo.port); - for (i = 0; Browsers[i] != NULL; i++) - { - if (ventoy_is_file_exist("%s", Browsers[i])) - { - ShellExecuteA(NULL, "open", Browsers[i], url, NULL, SW_SHOW); - return; - } - } + if (g_ChromeFirst) + { + for (i = 0; Browsers[i] != NULL; i++) + { + if (ventoy_is_file_exist("%s", Browsers[i])) + { + ShellExecuteA(NULL, "open", Browsers[i], url, NULL, SW_SHOW); + return; + } + } + } ShellExecuteA(NULL, "open", url, NULL, NULL, SW_SHOW); } @@ -468,6 +472,7 @@ static int ParseCmdLine(LPSTR lpCmdLine, char *ip, char *port) // //copy from Rufus +//Copyright © 2011-2021 Pete Batard // #include // For delay-loaded DLLs, use LOAD_LIBRARY_SEARCH_SYSTEM32 to avoid DLL search order hijacking. @@ -520,12 +525,22 @@ static void DllProtect(void) int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, INT nCmdShow) { + int i; int rc; HANDLE hMutex; WCHAR CurDir[MAX_PATH]; UNREFERENCED_PARAMETER(hPrevInstance); + for (i = 0; i < __argc; i++) + { + if (__argv[i] && _stricmp(__argv[i], "/F") == 0) + { + g_ChromeFirst = FALSE; + break; + } + } + DllProtect(); if (GetUserDefaultUILanguage() == 0x0804)