HANDLE hDrive;\r
CHAR PhyPath[MAX_PATH];\r
WCHAR PhyPathW[MAX_PATH];\r
- STARTUPINFOA Si;\r
PROCESS_INFORMATION Pi;\r
GET_LENGTH_INFORMATION LengthInfo;\r
\r
Log("VentoyMountISOByImdisk %s", IsoPath);\r
\r
sprintf_s(PhyPath, sizeof(PhyPath), "\\\\.\\PhysicalDrive%d", PhyDrive);\r
- if (IsUTF8Encode(PhyPath))\r
- {\r
- Utf8ToUtf16(PhyPath, PhyPathW);\r
- hDrive = CreateFileW(PhyPathW, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, 0, OPEN_EXISTING, 0, 0);\r
- }\r
- else\r
- {\r
- hDrive = CreateFileA(PhyPath, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, 0, OPEN_EXISTING, 0, 0);\r
- }\r
- \r
+ hDrive = CreateFileA(PhyPath, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, 0, OPEN_EXISTING, 0, 0);\r
if (hDrive == INVALID_HANDLE_VALUE)\r
{\r
Log("Could not open the disk<%s>, error:%u", PhyPath, GetLastError());\r
rc = 0;\r
\r
Letter = GetMountLogicalDrive();\r
- sprintf_s(PhyPath, sizeof(PhyPath), "ventoy\\imdisk.exe -a -o ro -f %s -m %C:", IsoPath, Letter);\r
+ sprintf_s(PhyPath, sizeof(PhyPath), "ventoy\\imdisk.exe -a -o ro -f \"%s\" -m %C:", IsoPath, Letter);\r
+ Log("mount iso to %C: use imdisk cmd <%s>", Letter, PhyPath);\r
\r
- Log("mount iso to %C: use imdisk cmd <%s>", Letter, PhyPath);\r
+ if (IsUTF8Encode(IsoPath))\r
+ {\r
+ STARTUPINFOW Si;\r
+ GetStartupInfoW(&Si);\r
+ Si.dwFlags |= STARTF_USESHOWWINDOW;\r
+ Si.wShowWindow = SW_HIDE;\r
\r
- GetStartupInfoA(&Si);\r
+ Utf8ToUtf16(PhyPath, PhyPathW);\r
+ CreateProcessW(NULL, PhyPathW, NULL, NULL, FALSE, 0, NULL, NULL, &Si, &Pi);\r
\r
- Si.dwFlags |= STARTF_USESHOWWINDOW;\r
- Si.wShowWindow = SW_HIDE;\r
+ Log("This is UTF8 encoding");\r
+ }\r
+ else\r
+ {\r
+ STARTUPINFOA Si;\r
+ GetStartupInfoA(&Si);\r
+ Si.dwFlags |= STARTF_USESHOWWINDOW;\r
+ Si.wShowWindow = SW_HIDE;\r
+\r
+ CreateProcessA(NULL, PhyPath, NULL, NULL, FALSE, 0, NULL, NULL, &Si, &Pi);\r
+\r
+ Log("This is ANSI encoding");\r
+ }\r
\r
- CreateProcessA(NULL, PhyPath, NULL, NULL, FALSE, 0, NULL, NULL, &Si, &Pi);\r
WaitForSingleObject(Pi.hProcess, INFINITE);\r
}\r
}\r
}\r
}\r
\r
- Log("######## VentoyJump [%d] ##########", id);\r
+#ifdef VTOY_32\r
+ Log("######## VentoyJump 32bit [%d] ##########", id);\r
+#else\r
+ Log("######## VentoyJump 64bit [%d] ##########", id);\r
+#endif\r
+\r
Log("argc = %d", argc);\r
for (i = 0; i < argc; i++)\r
{\r
\r
Log("Now launch <%s> ...", LunchFile);\r
\r
- //sprintf_s(LunchFile, sizeof(LunchFile), "%s", "cmd.exe");\r
+ if (g_os_param_reserved[0] == 4)\r
+ {\r
+ Log("Open cmd for debug ...");\r
+ sprintf_s(LunchFile, sizeof(LunchFile), "%s", "cmd.exe");\r
+ }\r
+\r
CreateProcessA(NULL, LunchFile, NULL, NULL, FALSE, 0, NULL, NULL, &Si, &Pi);\r
\r
for (i = 0; rc && i < 1800; i++)\r