https://git.reactos.org/?p=reactos.git;a=commitdiff;h=7b33915adc92b76c80a97a...
commit 7b33915adc92b76c80a97a81899f11a135ed1df4 Author: Mark Jansen mark.jansen@reactos.org AuthorDate: Sun Sep 26 17:26:03 2021 +0200 Commit: Mark Jansen mark.jansen@reactos.org CommitDate: Wed Oct 19 19:36:26 2022 +0200
[SYSSETUP] Add support for shortcut arguments --- dll/win32/syssetup/install.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/dll/win32/syssetup/install.c b/dll/win32/syssetup/install.c index 4a89017d5bc..fe2ccf89394 100644 --- a/dll/win32/syssetup/install.c +++ b/dll/win32/syssetup/install.c @@ -121,7 +121,8 @@ CreateShortcut( LPCWSTR pszCommand, LPCWSTR pszDescription, INT iIconNr, - LPCWSTR pszWorkingDir) + LPCWSTR pszWorkingDir, + LPCWSTR pszArgs) { DWORD dwLen; LPWSTR Ptr; @@ -170,7 +171,7 @@ CreateShortcut( /* Create the shortcut */ return SUCCEEDED(CreateShellLink(szPath, pszCommand, - L"", + pszArgs, pszWorkingDir, /* Special value to indicate no icon */ (iIconNr != -1 ? pszCommand : NULL), @@ -188,6 +189,7 @@ static BOOL CreateShortcutsFromSection(HINF hinf, LPWSTR pszSection, LPCWSTR psz WCHAR szName[MAX_PATH]; WCHAR szDescription[MAX_PATH]; WCHAR szDirectory[MAX_PATH]; + WCHAR szArgs[MAX_PATH];
if (!SetupFindFirstLine(hinf, pszSection, NULL, &Context)) return FALSE; @@ -213,9 +215,12 @@ static BOOL CreateShortcutsFromSection(HINF hinf, LPWSTR pszSection, LPCWSTR psz if (dwFieldCount < 5 || !SetupGetStringFieldW(&Context, 5, szDirectory, ARRAYSIZE(szDirectory), NULL)) szDirectory[0] = L'\0';
+ if (dwFieldCount < 6 || !SetupGetStringFieldW(&Context, 6, szArgs, ARRAYSIZE(szArgs), NULL)) + szArgs[0] = L'\0'; + wcscat(szName, L".lnk");
- CreateShortcut(pszFolder, szName, szCommand, szDescription, iIconNr, szDirectory); + CreateShortcut(pszFolder, szName, szCommand, szDescription, iIconNr, szDirectory, szArgs);
} while (SetupFindNextLine(&Context, &Context));