From 0c6e41bad0c4715a3418889a5229365cdfbb4dfd Mon Sep 17 00:00:00 2001 From: anders_k Date: Tue, 21 Apr 2020 18:53:55 +0000 Subject: [PATCH] Added MakeNsisW GUID generator command git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@7171 212acab6-be3b-0410-9dea-997c60f758d6 --- Contrib/Makensisw/Readme.txt | 2 ++ Contrib/Makensisw/SConscript | 2 +- Contrib/Makensisw/makensisw.cpp | 11 +++++++++++ Contrib/Makensisw/makensisw.h | 4 ++-- Contrib/Makensisw/resource.h | 3 ++- Contrib/Makensisw/resource.rc | 1 + Contrib/Makensisw/utils.cpp | 4 ++-- 7 files changed, 21 insertions(+), 6 deletions(-) diff --git a/Contrib/Makensisw/Readme.txt b/Contrib/Makensisw/Readme.txt index 25654308..fc7952bc 100644 --- a/Contrib/Makensisw/Readme.txt +++ b/Contrib/Makensisw/Readme.txt @@ -208,6 +208,8 @@ Version History - Added log window colors - Basic AppEvents custom sound support for BuildComplete, BuildWarning and BuildError +2.3.6 +- Added GUID generator tool Copyright Information --------------------- diff --git a/Contrib/Makensisw/SConscript b/Contrib/Makensisw/SConscript index f6046dbb..dd1a8e83 100644 --- a/Contrib/Makensisw/SConscript +++ b/Contrib/Makensisw/SConscript @@ -58,7 +58,7 @@ BuildUtil( res = res, resources = resources, entry = None, - defines = ['RELEASE=2.3.5'], + defines = ['RELEASE=2.3.6'], docs = docs, root_util = True ) diff --git a/Contrib/Makensisw/makensisw.cpp b/Contrib/Makensisw/makensisw.cpp index 5f889efb..5ae6b4be 100644 --- a/Contrib/Makensisw/makensisw.cpp +++ b/Contrib/Makensisw/makensisw.cpp @@ -690,6 +690,17 @@ INT_PTR CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam extern int ShowWndSpy(HWND hOwner); return ShowWndSpy(g_sdata.hwnd); } + case IDM_GUIDGEN: + { + GUID guid; + TCHAR buf[41 * (1 + (sizeof(TCHAR) < 2))]; + FARPROC func = GetKeyState(VK_CONTROL) < 0 ? GetSysProcAddr("RPCRT4", "UuidCreateSequential") : NULL; + ((HRESULT(WINAPI*)(GUID*))(func ? func : GetSysProcAddr("RPCRT4", "UuidCreate")))(&guid); + ((int(WINAPI*)(GUID*, TCHAR*, int))(GetSysProcAddr("OLE32", "StringFromGUID2")))(&guid, buf, 39); + for (UINT i = 0; sizeof(TCHAR) < 2; ++i) if (!(buf[i] = (CHAR) ((WCHAR*)buf)[i])) break; // WCHAR to TCHAR if ANSI + LogMessage(g_sdata.hwnd, (buf[38] = '\r', buf[39] = '\n', buf[40] = '\0', buf)); + break; + } case IDM_TEST: case IDC_TEST: { diff --git a/Contrib/Makensisw/makensisw.h b/Contrib/Makensisw/makensisw.h index 13c27ebe..f3c9d815 100644 --- a/Contrib/Makensisw/makensisw.h +++ b/Contrib/Makensisw/makensisw.h @@ -44,9 +44,9 @@ #define NSIS_UC_URL "http://nsis.sourceforge.net/update.php?version=" #define NSIS_DL_URL "http://nsis.sourceforge.net/download/" #ifdef UNICODE -#define USAGE _T("Usage:\r\n\r\n \x2022 File \x203a Load Script...\r\n \x2022 Drag the .nsi file into this window\r\n \x2022 Right click the .nsi file and choose \"Compile NSIS Script\"") +#define USAGE _T("Usage:\r\n\r\n \x2022 File \x203a Load Script...\r\n \x2022 Drag the .nsi file into this window\r\n \x2022 Right click the .nsi file and choose \"Compile NSIS Script\"\r\n") #else -#define USAGE _T("Usage:\r\n\r\n - File | Load Script...\r\n - Drag the .nsi file into this window\r\n - Right click the .nsi file and choose \"Compile NSIS Script\"") +#define USAGE _T("Usage:\r\n\r\n - File | Load Script...\r\n - Drag the .nsi file into this window\r\n - Right click the .nsi file and choose \"Compile NSIS Script\"\r\n") #endif #define COPYRIGHT _T("Copyright (C) 2002 Robert Rainwater") #define CONTRIB _T("Fritz Elfert, Justin Frankel, Amir Szekely, Sunil Kamath, Joost Verburg, Anders Kjersem") diff --git a/Contrib/Makensisw/resource.h b/Contrib/Makensisw/resource.h index 89623da2..2ded8cb6 100644 --- a/Contrib/Makensisw/resource.h +++ b/Contrib/Makensisw/resource.h @@ -126,6 +126,7 @@ #define IDM_COPY 537 #define IDM_UI_SWITCHOWNEDWINDOW 538 // Alt+F6 #define IDM_UI_SWITCHSECTION 539 // F6 +#define IDM_GUIDGEN 540 // Next default values for new objects @@ -133,7 +134,7 @@ #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 138 -#define _APS_NEXT_COMMAND_VALUE 540 +#define _APS_NEXT_COMMAND_VALUE 541 #define _APS_NEXT_CONTROL_VALUE 241 #define _APS_NEXT_SYMED_VALUE 101 #endif diff --git a/Contrib/Makensisw/resource.rc b/Contrib/Makensisw/resource.rc index 639d0468..7069f6d1 100644 --- a/Contrib/Makensisw/resource.rc +++ b/Contrib/Makensisw/resource.rc @@ -111,6 +111,7 @@ BEGIN MENUITEM "&Settings\tCtrl+S", IDM_SETTINGS MENUITEM "", -1, MFT_SEPARATOR MENUITEM "&Window Info", IDM_WNDSPY + MENUITEM "Generate &GUID", IDM_GUIDGEN MENUITEM "", -1, MFT_SEPARATOR MENUITEM "Clear Recent &Files List", IDM_CLEAR_MRU_LIST END diff --git a/Contrib/Makensisw/utils.cpp b/Contrib/Makensisw/utils.cpp index 03ba440d..cb4b8617 100644 --- a/Contrib/Makensisw/utils.cpp +++ b/Contrib/Makensisw/utils.cpp @@ -295,7 +295,7 @@ void EnableDisableItems(HWND hwnd, int on) static const PACKEDCMDID_T cmds [] = { PACKCMDID(IDM_EXIT), PACKCMDID(IDM_LOADSCRIPT), PACKCMDID(IDM_EDITSCRIPT), - PACKCMDID(IDM_SAVE), PACKCMDID(IDM_CLEARLOG), + PACKCMDID(IDM_SAVE), PACKCMDID(IDM_CLEARLOG), PACKCMDID(IDM_GUIDGEN), PACKCMDID(IDM_COMPRESSOR), PACKCMDID(IDM_COMPRESSOR_SUBMENU), PACKCMDID(IDM_RECOMPILE), PACKCMDID(IDM_RECOMPILE_TEST) }; @@ -362,7 +362,7 @@ void CompileNSISScript() { ClearLog(g_sdata.hwnd); SetTitle(g_sdata.hwnd,NULL); PostMessage(g_sdata.hwnd, WM_MAKENSIS_UPDATEUISTATE, 0, 0); - if (lstrlen(g_sdata.script)==0) { + if (!g_sdata.script[0]) { LogMessage(g_sdata.hwnd,USAGE); SetUIState_NoScript(); DragAcceptFiles(g_sdata.hwnd,TRUE);