From 4a10e0b2eb2264ffe003dc9b12383988fd8a911a Mon Sep 17 00:00:00 2001 From: David Refoua Date: Tue, 4 Sep 2018 00:31:59 +0430 Subject: [PATCH 1/5] mainstram build tools --- launcher/CmderLauncher.vcxproj | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/launcher/CmderLauncher.vcxproj b/launcher/CmderLauncher.vcxproj index 08deaeb..8231621 100644 --- a/launcher/CmderLauncher.vcxproj +++ b/launcher/CmderLauncher.vcxproj @@ -14,13 +14,12 @@ {4A8485A5-B7DD-4C44-B7F6-3E2765DD0CD3} Win32Proj CmderLauncher - 10.0.16299.0 Application true - v141_xp + v140 Unicode @@ -28,7 +27,7 @@ false true Unicode - v141 + v140 From 3ef53f64d48913bf9fa418646dbdc1735e385569 Mon Sep 17 00:00:00 2001 From: David Refoua Date: Wed, 5 Sep 2018 03:18:59 +0430 Subject: [PATCH 2/5] add strings.rc2 --- launcher/CmderLauncher.vcxproj | 4 +++- launcher/src/CmderLauncher.cpp | 7 ++++++- launcher/src/resource.h | Bin 902 -> 1082 bytes launcher/src/{Resource.rc => resource.rc} | 1 + launcher/src/strings.rc2 | 12 ++++++++++++ 5 files changed, 22 insertions(+), 2 deletions(-) rename launcher/src/{Resource.rc => resource.rc} (99%) create mode 100755 launcher/src/strings.rc2 diff --git a/launcher/CmderLauncher.vcxproj b/launcher/CmderLauncher.vcxproj index 8231621..286876f 100644 --- a/launcher/CmderLauncher.vcxproj +++ b/launcher/CmderLauncher.vcxproj @@ -59,6 +59,7 @@ Windows true + src/app.manifest %(AdditionalManifestFiles) @@ -85,6 +86,7 @@ true true true + src/app.manifest %(AdditionalManifestFiles) @@ -94,7 +96,7 @@ - + RC diff --git a/launcher/src/CmderLauncher.cpp b/launcher/src/CmderLauncher.cpp index 9f0a275..d0c80ec 100644 --- a/launcher/src/CmderLauncher.cpp +++ b/launcher/src/CmderLauncher.cpp @@ -460,7 +460,12 @@ cmderOptions GetOption() cmderOptions.cmderStart = szArgList[i]; } else { - MessageBox(NULL, L"Unrecognized parameter.\n\nValid options:\n\n /c [CMDER User Root Path]\n\n /task [ConEmu Task Name]\n\n [/start [Start in Path] | [Start in Path]]\n\n /single\n\nor\n\n /register [USER | ALL]\n\nor\n\n /unregister [USER | ALL]\n", MB_TITLE, MB_OK); + wchar_t validOptions[512]; + HMODULE hMod = GetModuleHandle(NULL); + LoadString(hMod, IDS_SWITCHES, validOptions, 512); + + // display list of valid options on unrecognized parameter + MessageBox(NULL, validOptions, MB_TITLE, MB_OK); cmderOptions.error = true; } } diff --git a/launcher/src/resource.h b/launcher/src/resource.h index 709cf9d8d1b69ed2f3d71d51aa74f71c3d7fcf46..551480e8caf5fbb06d691d75a15ae53a67c421a6 100644 GIT binary patch delta 92 zcmZo;-^H;(g;7zNA%!88A&nuEArD9^FnBV!Fa$HiGlT$HAq+kYt`k3MPGV%6#LP0; jhe=EvCLPQW4p!jI;KAU^5DZkrYQbQ@V7ytLF`WqjbvqK! delta 12 TcmdnR(Z;?(g>mx@#v~>H9Ki$? diff --git a/launcher/src/Resource.rc b/launcher/src/resource.rc similarity index 99% rename from launcher/src/Resource.rc rename to launcher/src/resource.rc index 55e2772..28d3980 100644 --- a/launcher/src/Resource.rc +++ b/launcher/src/resource.rc @@ -9,6 +9,7 @@ #include "resource.h" #include "version.rc2" +#include "strings.rc2" #define APSTUDIO_READONLY_SYMBOLS ///////////////////////////////////////////////////////////////////////////// diff --git a/launcher/src/strings.rc2 b/launcher/src/strings.rc2 new file mode 100755 index 0000000..331b2d2 --- /dev/null +++ b/launcher/src/strings.rc2 @@ -0,0 +1,12 @@ + +///////////////////////////////////////////////////////////////////////////// +// Corresponding ids should be defined in `resource.h` file. + +STRINGTABLE +{ + IDS_TITLE L"Cmder Launcher" + + IDS_SWITCHES L"Unrecognized parameter.\n\nValid options:\n\n /c [CMDER User Root Path]\n\n /task [ConEmu Task Name]\n\n [/start [Start in Path] | [Start in Path]]\n\n /single\n\nor\n\n /register [USER | ALL]\n\nor\n\n /unregister [USER | ALL]\n" +} + +///////////////////////////////////////////////////////////////////////////// From cfe22c8ef055acf78cf8b93ae2b6ed4f2df562ac Mon Sep 17 00:00:00 2001 From: David Refoua Date: Wed, 5 Sep 2018 03:22:57 +0430 Subject: [PATCH 3/5] set encoding to UTF-8 --- launcher/CmderLauncher.sln | 2 +- launcher/src/resource.h | Bin 1082 -> 522 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/launcher/CmderLauncher.sln b/launcher/CmderLauncher.sln index 9b4bc65..9a0402d 100644 --- a/launcher/CmderLauncher.sln +++ b/launcher/CmderLauncher.sln @@ -1,4 +1,4 @@ - + Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 14 VisualStudioVersion = 14.0.23107.0 diff --git a/launcher/src/resource.h b/launcher/src/resource.h index 551480e8caf5fbb06d691d75a15ae53a67c421a6..0c06c299fbb7f5fc80f0a9c8f8a76c640c2dfbfc 100644 GIT binary patch literal 522 zcmZwDU2B6d6b9gXf5m}b7OHN$*sU`M7N$ut+O1c?>dD9u1wZyd>3?53*k+5l37k9$ zZ(iR&9);8lwzKJl}`ZR(&^gW`vy`rm}%}y@pq6sV_&W!M0U1)da>iv^o1? zaMQyVWHfYBU(u$o+}K;yWNb^o8P{>jFoWe42I0&qo%1}wWeQ<%b79pp&*Mi_OZ+~# z_0I7GeU9L=lv6Xpd)Z7hfa!W@=>xjM8&%`*6W1DtAljOWdBQoQ3vQ=RKR+&B08#xi4sa1fK+FY}5Ix_o_ zMKf5YozRe7EsX1htuIb%dzth~9*W8K7ZIj*OuCIGgV!nYciTIqW6i(K)6Yg|$M-K^e zVy3l6HxbHrhz!Z{@&Br{TZbxS7t{c2Q_ZWzb##sn#;WIM7kbDGBKzLDuFLt^2fJj_ XXi<-Arfhra&7V8wf6CVE|Mb5BtOt+x From 9b121f1c0aac863c8124443e306cb3d8e67647cc Mon Sep 17 00:00:00 2001 From: David Refoua Date: Wed, 5 Sep 2018 04:22:42 +0430 Subject: [PATCH 4/5] switch to taskdialog --- launcher/src/CmderLauncher.cpp | 36 +++++++++++++++++++++++++++++++++- launcher/src/strings.rc2 | 4 ++-- 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/launcher/src/CmderLauncher.cpp b/launcher/src/CmderLauncher.cpp index d0c80ec..ad952ee 100644 --- a/launcher/src/CmderLauncher.cpp +++ b/launcher/src/CmderLauncher.cpp @@ -9,6 +9,7 @@ #include #pragma comment(lib, "Shlwapi.lib") +#pragma comment(lib, "comctl32.lib") #pragma warning( disable : 4091 ) #ifndef UNICODE @@ -29,6 +30,39 @@ #define FAIL_ON_ERROR(x) { DWORD ec; if ((ec = (x)) != ERROR_SUCCESS) { ShowErrorAndExit(ec, __WFUNCTION__, __LINE__); } } +void TaskDialogOpen( PCWSTR mainStr, PCWSTR contentStr ) +{ + + HRESULT hr = NULL; + + TASKDIALOGCONFIG tsk = {sizeof(tsk)}; + + HWND hOwner = NULL; + HINSTANCE hInstance = GetModuleHandle(NULL); + PCWSTR tskTitle = MAKEINTRESOURCE(IDS_TITLE); + + tsk.hInstance = hInstance; + tsk.pszMainIcon = MAKEINTRESOURCE(IDI_CMDER); + tsk.pszWindowTitle = tskTitle; + tsk.pszMainInstruction = mainStr; + tsk.pszContent = contentStr; + + TASKDIALOG_BUTTON btns[1] = { + { IDOK, L"OK" } + }; + + tsk.dwFlags = TDF_ALLOW_DIALOG_CANCELLATION|TDF_ENABLE_HYPERLINKS; + tsk.pButtons = btns; + tsk.cButtons = _countof(btns); + + tsk.hwndParent = hOwner; + + int selectedButtonId = IDOK; + + hr = TaskDialogIndirect( &tsk, &selectedButtonId, NULL, NULL ); + +} + void ShowErrorAndExit(DWORD ec, const wchar_t * func, int line) { wchar_t * buffer; @@ -465,7 +499,7 @@ cmderOptions GetOption() LoadString(hMod, IDS_SWITCHES, validOptions, 512); // display list of valid options on unrecognized parameter - MessageBox(NULL, validOptions, MB_TITLE, MB_OK); + TaskDialogOpen( L"Unrecognized parameter.", validOptions ); cmderOptions.error = true; } } diff --git a/launcher/src/strings.rc2 b/launcher/src/strings.rc2 index 331b2d2..e581513 100755 --- a/launcher/src/strings.rc2 +++ b/launcher/src/strings.rc2 @@ -4,9 +4,9 @@ STRINGTABLE { - IDS_TITLE L"Cmder Launcher" + IDS_TITLE "Cmder Launcher" - IDS_SWITCHES L"Unrecognized parameter.\n\nValid options:\n\n /c [CMDER User Root Path]\n\n /task [ConEmu Task Name]\n\n [/start [Start in Path] | [Start in Path]]\n\n /single\n\nor\n\n /register [USER | ALL]\n\nor\n\n /unregister [USER | ALL]\n" + IDS_SWITCHES L"Valid options:\n\n /c [CMDER User Root Path]\n /task [ConEmu Task Name]\n [/start [Start in Path] | [Start in Path]]\n /single\n\nor, either:\n /register [USER | ALL]\n /unregister [USER | ALL]" } ///////////////////////////////////////////////////////////////////////////// From 8ee5e36fca2e85df75076268cd5b984503f00186 Mon Sep 17 00:00:00 2001 From: David Refoua Date: Fri, 9 Sep 2022 21:26:11 +0430 Subject: [PATCH 5/5] update switches string --- launcher/src/strings.rc2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/launcher/src/strings.rc2 b/launcher/src/strings.rc2 index e581513..71dcf5a 100755 --- a/launcher/src/strings.rc2 +++ b/launcher/src/strings.rc2 @@ -6,7 +6,7 @@ STRINGTABLE { IDS_TITLE "Cmder Launcher" - IDS_SWITCHES L"Valid options:\n\n /c [CMDER User Root Path]\n /task [ConEmu Task Name]\n [/start [Start in Path] | [Start in Path]]\n /single\n\nor, either:\n /register [USER | ALL]\n /unregister [USER | ALL]" + IDS_SWITCHES L"Valid options:\n\n /c [CMDER User Root Path]\n /task [ConEmu Task Name]\n /icon [CMDER Icon Path]\n [/start [Start in Path] | [Start in Path]]\n /single\n /m\n /x [ConEmu extra arguments]\n\nor, either:\n /register [USER | ALL]\n /unregister [USER | ALL]" } /////////////////////////////////////////////////////////////////////////////