From 1ca48923da8cb7e351b646429cafbdd03eab5f9e Mon Sep 17 00:00:00 2001 From: longpanda Date: Thu, 17 Feb 2022 10:13:27 +0800 Subject: [PATCH] VentoyVlnk add cmdline mode. VentoyVlnk.exe -i xxx.iso -o xxx.vlnk.iso --- Vlnk/src/main_windows.c | 200 ++++++++++++++++------ Vlnk/vs/VentoyVlnk/Release/VentoyVlnk.exe | Bin 119296 -> 120832 bytes 2 files changed, 148 insertions(+), 52 deletions(-) diff --git a/Vlnk/src/main_windows.c b/Vlnk/src/main_windows.c index 6596c29b..06460405 100644 --- a/Vlnk/src/main_windows.c +++ b/Vlnk/src/main_windows.c @@ -13,12 +13,17 @@ static CHAR g_LogFile[MAX_PATH]; static HWND g_create_button; static HWND g_parse_button; +static BOOL g_ShowHelp = FALSE; +static WCHAR g_CmdInFile[MAX_PATH]; +static WCHAR g_CmdOutFile[MAX_PATH]; + typedef enum MSGID { MSGID_ERROR = 0, MSGID_INFO, MSGID_BTN_CREATE, MSGID_BTN_PARSE, + MSGID_SRC_NONEXIST, MSGID_SRC_UNSUPPORTED, MSGID_FS_UNSUPPORTED, MSGID_SUFFIX_UNSUPPORTED, @@ -42,6 +47,7 @@ const WCHAR *g_msg_cn[MSGID_BUTT] = L"提醒", L"创建", L"解析", + L"指定的文件不存在", L"不支持为此文件创建vlnk", L"不支持的文件系统", L"不支持的文件后缀名", @@ -61,6 +67,7 @@ const WCHAR *g_msg_en[MSGID_BUTT] = L"Info", L"Create", L"Parse", + L"The specified file is not exist!", L"This file is not supported for vlnk", L"Unsupported file system!", L"Unsupported file suffix!", @@ -78,6 +85,22 @@ const WCHAR *g_msg_en[MSGID_BUTT] = const WCHAR **g_msg_lang = NULL; HINSTANCE g_hInst; + +static int VtoyMessageBox +( + _In_opt_ HWND hWnd, + _In_opt_ LPCWSTR lpText, + _In_opt_ LPCWSTR lpCaption, + _In_ UINT uType +) +{ + if (g_CmdInFile[0] && g_CmdOutFile[0]) + { + return 0; + } + + return MessageBox(hWnd, lpText, lpCaption, uType); +} static void Log2File(const char *log) { @@ -340,7 +363,7 @@ End: } -static int CreateVlnk(HWND hWnd, WCHAR *Dir) +static int CreateVlnk(HWND hWnd, WCHAR *Dir, WCHAR *InFile, WCHAR *OutFile) { int i; int end; @@ -358,20 +381,27 @@ static int CreateVlnk(HWND hWnd, WCHAR *Dir) WCHAR *Pos = NULL; ventoy_vlnk *vlnk = NULL; - ofn.lStructSize = sizeof(ofn); - ofn.hwndOwner = hWnd; - ofn.lpstrFile = szFile; - ofn.nMaxFile = sizeof(szFile); - ofn.lpstrFilter = L"Vlnk Source File\0*.iso;*.img;*.wim;*.vhd;*.vhdx;*.vtoy;*.efi;*.dat\0"; - ofn.nFilterIndex = 1; - ofn.lpstrFileTitle = NULL; - ofn.nMaxFileTitle = 0; - ofn.lpstrInitialDir = NULL; - ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST; - - if (GetOpenFileName(&ofn) != TRUE) + if (InFile) { - return 1; + wcscpy_s(szFile, MAX_PATH, InFile); + } + else + { + ofn.lStructSize = sizeof(ofn); + ofn.hwndOwner = hWnd; + ofn.lpstrFile = szFile; + ofn.nMaxFile = sizeof(szFile); + ofn.lpstrFilter = L"Vlnk Source File\0*.iso;*.img;*.wim;*.vhd;*.vhdx;*.vtoy;*.efi;*.dat\0"; + ofn.nFilterIndex = 1; + ofn.lpstrFileTitle = NULL; + ofn.nMaxFileTitle = 0; + ofn.lpstrInitialDir = NULL; + ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST; + + if (GetOpenFileName(&ofn) != TRUE) + { + return 1; + } } LogW(L"Create vlnk for <%ls>\n", szFile); @@ -380,7 +410,7 @@ static int CreateVlnk(HWND hWnd, WCHAR *Dir) if (len < 5 || szFile[0] == '.' || szFile[1] != ':') { - MessageBox(hWnd, g_msg_lang[MSGID_SRC_UNSUPPORTED], g_msg_lang[MSGID_ERROR], MB_OK | MB_ICONERROR); + VtoyMessageBox(hWnd, g_msg_lang[MSGID_SRC_UNSUPPORTED], g_msg_lang[MSGID_ERROR], MB_OK | MB_ICONERROR); return 1; } @@ -406,7 +436,7 @@ static int CreateVlnk(HWND hWnd, WCHAR *Dir) } else { - MessageBox(hWnd, g_msg_lang[MSGID_FS_UNSUPPORTED], g_msg_lang[MSGID_ERROR], MB_OK | MB_ICONERROR); + VtoyMessageBox(hWnd, g_msg_lang[MSGID_FS_UNSUPPORTED], g_msg_lang[MSGID_ERROR], MB_OK | MB_ICONERROR); return 1; } @@ -419,13 +449,13 @@ static int CreateVlnk(HWND hWnd, WCHAR *Dir) if (!IsSupportedImgSuffix(suffix)) { - MessageBox(hWnd, g_msg_lang[MSGID_SUFFIX_UNSUPPORTED], g_msg_lang[MSGID_ERROR], MB_OK | MB_ICONERROR); + VtoyMessageBox(hWnd, g_msg_lang[MSGID_SUFFIX_UNSUPPORTED], g_msg_lang[MSGID_ERROR], MB_OK | MB_ICONERROR); return 1; } if (IsVlnkFile(szFile, NULL)) { - MessageBox(hWnd, g_msg_lang[MSGID_ALREADY_VLNK], g_msg_lang[MSGID_ERROR], MB_OK | MB_ICONERROR); + VtoyMessageBox(hWnd, g_msg_lang[MSGID_ALREADY_VLNK], g_msg_lang[MSGID_ERROR], MB_OK | MB_ICONERROR); return 1; } @@ -459,14 +489,14 @@ static int CreateVlnk(HWND hWnd, WCHAR *Dir) if (len >= VLNK_NAME_MAX) { LogA("File name length %d overflow\n", len); - MessageBox(hWnd, g_msg_lang[MSGID_FILE_NAME_TOO_LONG], g_msg_lang[MSGID_ERROR], MB_OK | MB_ICONERROR); + VtoyMessageBox(hWnd, g_msg_lang[MSGID_FILE_NAME_TOO_LONG], g_msg_lang[MSGID_ERROR], MB_OK | MB_ICONERROR); return 1; } DiskExtend.StartingOffset.QuadPart = 0; if (GetPhyDiskInfo((char)szFile[0], &DiskSig, &DiskExtend)) { - MessageBox(hWnd, g_msg_lang[MSGID_DISK_INFO_ERR], g_msg_lang[MSGID_ERROR], MB_OK | MB_ICONERROR); + VtoyMessageBox(hWnd, g_msg_lang[MSGID_DISK_INFO_ERR], g_msg_lang[MSGID_ERROR], MB_OK | MB_ICONERROR); return 1; } @@ -477,22 +507,38 @@ static int CreateVlnk(HWND hWnd, WCHAR *Dir) vlnk = (ventoy_vlnk *)Buf; ventoy_create_vlnk(DiskSig, (uint64_t)DiskExtend.StartingOffset.QuadPart, UTF8Path, vlnk); - DefaultVlnkDstFullPath(Pos + 1, Dir, DstFullPath); + if (OutFile) + { + wcscpy_s(DstFullPath, MAX_PATH, OutFile); + } + else + { + DefaultVlnkDstFullPath(Pos + 1, Dir, DstFullPath); + } + LogW(L"vlnk output file path is <%ls>\n", DstFullPath); if (SaveBuffer2File(DstFullPath, Buf, VLNK_FILE_LEN) == 0) { WCHAR Msg[1024]; - swprintf_s(Msg, 1024, L"%ls\r\n\r\n%ls", g_msg_lang[MSGID_VLNK_SUCCESS], DstFullPath + lstrlen(Dir) + 1); - LogW(L"Vlnk file create success <%ls>\n", DstFullPath); - MessageBox(hWnd, Msg, g_msg_lang[MSGID_INFO], MB_OK | MB_ICONINFORMATION); + + if (OutFile) + { + swprintf_s(Msg, 1024, L"%ls\r\n\r\n%ls", g_msg_lang[MSGID_VLNK_SUCCESS], DstFullPath); + VtoyMessageBox(hWnd, Msg, g_msg_lang[MSGID_INFO], MB_OK | MB_ICONINFORMATION); + } + else + { + swprintf_s(Msg, 1024, L"%ls\r\n\r\n%ls", g_msg_lang[MSGID_VLNK_SUCCESS], DstFullPath + lstrlen(Dir) + 1); + VtoyMessageBox(hWnd, Msg, g_msg_lang[MSGID_INFO], MB_OK | MB_ICONINFORMATION); + } } else { LogA("Vlnk file save failed\n"); - MessageBox(hWnd, g_msg_lang[MSGID_CREATE_FILE_ERR], g_msg_lang[MSGID_ERROR], MB_OK | MB_ICONERROR); + VtoyMessageBox(hWnd, g_msg_lang[MSGID_CREATE_FILE_ERR], g_msg_lang[MSGID_ERROR], MB_OK | MB_ICONERROR); } free(Buf); @@ -567,7 +613,7 @@ static int ParseVlnk(HWND hWnd) if (!IsVlnkFile(szFile, &vlnk)) { - MessageBox(hWnd, g_msg_lang[MSGID_INVALID_VLNK], g_msg_lang[MSGID_ERROR], MB_OK | MB_ICONERROR); + VtoyMessageBox(hWnd, g_msg_lang[MSGID_INVALID_VLNK], g_msg_lang[MSGID_ERROR], MB_OK | MB_ICONERROR); return 1; } @@ -581,7 +627,7 @@ static int ParseVlnk(HWND hWnd) if (!IsSupportedImgSuffix(suffix)) { - MessageBox(hWnd, g_msg_lang[MSGID_SUFFIX_UNSUPPORTED], g_msg_lang[MSGID_ERROR], MB_OK | MB_ICONERROR); + VtoyMessageBox(hWnd, g_msg_lang[MSGID_SUFFIX_UNSUPPORTED], g_msg_lang[MSGID_ERROR], MB_OK | MB_ICONERROR); return 1; } @@ -598,7 +644,7 @@ static int ParseVlnk(HWND hWnd) Letter = GetDriveLetter(vlnk.disk_signature, vlnk.part_offset); if (Letter == 0) { - MessageBox(hWnd, g_msg_lang[MSGID_VLNK_NO_DST], g_msg_lang[MSGID_ERROR], MB_OK | MB_ICONERROR); + VtoyMessageBox(hWnd, g_msg_lang[MSGID_VLNK_NO_DST], g_msg_lang[MSGID_ERROR], MB_OK | MB_ICONERROR); return 1; } @@ -609,13 +655,13 @@ static int ParseVlnk(HWND hWnd) hFile = CreateFileW(szDst, FILE_READ_EA, FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0); if (INVALID_HANDLE_VALUE == hFile) { - MessageBox(hWnd, g_msg_lang[MSGID_VLNK_NO_DST], g_msg_lang[MSGID_ERROR], MB_OK | MB_ICONERROR); + VtoyMessageBox(hWnd, g_msg_lang[MSGID_VLNK_NO_DST], g_msg_lang[MSGID_ERROR], MB_OK | MB_ICONERROR); return 1; } CloseHandle(hFile); swprintf_s(Msg, 1024, L"%ls %ls", g_msg_lang[MSGID_VLNK_POINT_TO], szDst); - MessageBox(hWnd, Msg, g_msg_lang[MSGID_INFO], MB_OK | MB_ICONINFORMATION); + VtoyMessageBox(hWnd, Msg, g_msg_lang[MSGID_INFO], MB_OK | MB_ICONINFORMATION); return 0; } @@ -637,7 +683,7 @@ INT_PTR CALLBACK DialogProc(HWND hWnd, UINT Message, WPARAM wParam, LPARAM lPara if (CtrlID == IDC_BUTTON1) { EnableWindow(g_create_button, FALSE); - CreateVlnk(hWnd, g_CurDirW); + CreateVlnk(hWnd, g_CurDirW, NULL, NULL); EnableWindow(g_create_button, TRUE); } else if (CtrlID == IDC_BUTTON2) @@ -664,9 +710,46 @@ INT_PTR CALLBACK DialogProc(HWND hWnd, UINT Message, WPARAM wParam, LPARAM lPara return 0; } -int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, INT nCmdShow) +static int ParseCmdLine(LPSTR lpCmdLine) { int i; + int argc = 0; + LPWSTR *lpszArgv = NULL; + + lpszArgv = CommandLineToArgvW(GetCommandLineW(), &argc); + + for (i = 0; i < argc; i++) + { + if (lstrcmp(lpszArgv[i], L"-q") == 0 || lstrcmp(lpszArgv[i], L"-Q") == 0) + { + g_LogFile[0] = 0; + } + else if (lstrcmp(lpszArgv[i], L"-h") == 0 || lstrcmp(lpszArgv[i], L"-H") == 0) + { + g_ShowHelp = TRUE; + } + else if (lstrcmp(lpszArgv[i], L"-i") == 0 || lstrcmp(lpszArgv[i], L"-I") == 0) + { + if (i + 1 < argc) + { + wcscpy_s(g_CmdInFile, MAX_PATH, lpszArgv[i + 1]); + } + } + else if (lstrcmp(lpszArgv[i], L"-o") == 0 || lstrcmp(lpszArgv[i], L"-O") == 0) + { + if (i + 1 < argc) + { + wcscpy_s(g_CmdOutFile, MAX_PATH, lpszArgv[i + 1]); + } + } + } + + return argc; +} + +int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, INT nCmdShow) +{ + DWORD dwAttrib; HANDLE hMutex; UNREFERENCED_PARAMETER(hPrevInstance); @@ -680,32 +763,45 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLi g_msg_lang = g_msg_en; } - hMutex = CreateMutexA(NULL, TRUE, "VtoyVlnkMUTEX"); - if ((hMutex != NULL) && (GetLastError() == ERROR_ALREADY_EXISTS)) - { - MessageBoxW(NULL, g_msg_lang[MSGID_RUNNING_TIP], g_msg_lang[MSGID_ERROR], MB_OK | MB_ICONERROR); - return 1; - } + hMutex = CreateMutexA(NULL, TRUE, "VtoyVlnkMUTEX"); + if ((hMutex != NULL) && (GetLastError() == ERROR_ALREADY_EXISTS)) + { + MessageBoxW(NULL, g_msg_lang[MSGID_RUNNING_TIP], g_msg_lang[MSGID_ERROR], MB_OK | MB_ICONERROR); + return 1; + } GetCurrentDirectoryA(MAX_PATH, g_CurDirA); GetCurrentDirectoryW(MAX_PATH, g_CurDirW); sprintf_s(g_LogFile, sizeof(g_LogFile), "%s\\VentoyVlnk.log", g_CurDirA); - for (i = 0; i < __argc; i++) - { - if (strncmp(__argv[i], "-Q", 2) == 0 || - strncmp(__argv[i], "-q", 2) == 0) - { - g_LogFile[0] = 0; - break; - } - } + ParseCmdLine(lpCmdLine); - - LogA("========= VentoyVlnk =========\n"); - g_hInst = hInstance; - DialogBoxA(hInstance, MAKEINTRESOURCEA(IDD_DIALOG1), NULL, DialogProc); - return 0; + if (g_ShowHelp) + { + VtoyMessageBox(NULL, L"VentoyVlnk.exe CMD\r\n -i Input file path\r\n -o Output vlnk file path\r\n -q Quite mode (no log)", L"Tip", MB_OK); + return 0; + } + else if (g_CmdInFile[0] && g_CmdOutFile[0]) + { + LogA("========= VentoyVlnk Cmdline Mode =========\n"); + + dwAttrib = GetFileAttributesW(g_CmdInFile); + if (dwAttrib == INVALID_FILE_ATTRIBUTES || (dwAttrib & FILE_ATTRIBUTE_DIRECTORY)) + { + LogW(L"File <<%ls>> does not exist!\n", g_CmdInFile); + VtoyMessageBox(NULL, g_msg_lang[MSGID_SRC_NONEXIST], g_msg_lang[MSGID_ERROR], MB_OK | MB_ICONERROR); + return 1; + } + + return CreateVlnk(NULL, g_CurDirW, g_CmdInFile, g_CmdOutFile); + } + else + { + LogA("========= VentoyVlnk GUI Mode =========\n"); + + DialogBoxA(hInstance, MAKEINTRESOURCEA(IDD_DIALOG1), NULL, DialogProc); + return 0; + } } diff --git a/Vlnk/vs/VentoyVlnk/Release/VentoyVlnk.exe b/Vlnk/vs/VentoyVlnk/Release/VentoyVlnk.exe index 879304d3b4d1bc2189b3f8a14cd3447c2ea5a6f7..f046a4f7f69df82772ca6b41f207f6def08f6a01 100644 GIT binary patch delta 38949 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 VVL?pc(l{5F#ksjW4$oVze+O@)x�K delta 37642 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 GuKp(qKfk~L