mirror of
https://github.com/reactos/reactos.git
synced 2025-04-26 16:40:27 +00:00
Fix double-clicking control panel items
svn path=/trunk/; revision=17752
This commit is contained in:
parent
67720419df
commit
8da043e4f2
2 changed files with 8 additions and 5 deletions
|
@ -970,6 +970,7 @@ static HRESULT WINAPI IShellExecuteHookW_fnExecute(IShellExecuteHookW* iface, LP
|
|||
SHELLEXECUTEINFOW sei_tmp;
|
||||
PIDLCPanelStruct* pcpanel;
|
||||
WCHAR path[MAX_PATH];
|
||||
WCHAR params[MAX_PATH];
|
||||
BOOL ret;
|
||||
int l;
|
||||
|
||||
|
@ -990,12 +991,13 @@ static HRESULT WINAPI IShellExecuteHookW_fnExecute(IShellExecuteHookW* iface, LP
|
|||
|
||||
/* pass applet name to Control_RunDLL to distinguish between applets in one .cpl file */
|
||||
path[l++] = '"';
|
||||
path[l++] = ' ';
|
||||
path[l] = '\0';
|
||||
|
||||
MultiByteToWideChar(CP_ACP, 0, pcpanel->szName+pcpanel->offsDispName, -1, path+l, MAX_PATH);
|
||||
MultiByteToWideChar(CP_ACP, 0, pcpanel->szName+pcpanel->offsDispName, -1, params, MAX_PATH);
|
||||
|
||||
memcpy(&sei_tmp, psei, sizeof(sei_tmp));
|
||||
sei_tmp.lpFile = path;
|
||||
sei_tmp.lpParameters = params;
|
||||
sei_tmp.fMask &= ~SEE_MASK_INVOKEIDLIST;
|
||||
sei_tmp.lpVerb = wCplopen;
|
||||
|
||||
|
|
|
@ -1263,9 +1263,10 @@ BOOL WINAPI ShellExecuteExW32 (LPSHELLEXECUTEINFOW sei, SHELL_ExecuteW32 execfun
|
|||
|
||||
lpFile = wfileName;
|
||||
|
||||
strcpyW(wcmd, wszApplicationName);
|
||||
if (sei_tmp.lpParameters[0]) {
|
||||
strcatW(wszApplicationName, wSpace);
|
||||
strcatW(wszApplicationName, wszParameters);
|
||||
strcatW(wcmd, wSpace);
|
||||
strcatW(wcmd, wszParameters);
|
||||
}
|
||||
|
||||
/* We set the default to open, and that should generally work.
|
||||
|
@ -1273,7 +1274,7 @@ BOOL WINAPI ShellExecuteExW32 (LPSHELLEXECUTEINFOW sei, SHELL_ExecuteW32 execfun
|
|||
if (!sei_tmp.lpVerb)
|
||||
sei_tmp.lpVerb = wszOpen;
|
||||
|
||||
retval = execfunc(wszApplicationName, NULL, FALSE, &sei_tmp, sei);
|
||||
retval = execfunc(wcmd, NULL, FALSE, &sei_tmp, sei);
|
||||
if (retval > 32)
|
||||
return TRUE;
|
||||
|
||||
|
|
Loading…
Reference in a new issue