From 7814420f2f075a88d9f9dd476c86927029943b1a Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Wed, 16 Aug 2006 16:43:08 +0200 Subject: [PATCH] user: Explicitly load explorer.exe from the system directory. --- dlls/user/win.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/dlls/user/win.c b/dlls/user/win.c index a4f2c26455e..362f18d3d04 100644 --- a/dlls/user/win.c +++ b/dlls/user/win.c @@ -1613,13 +1613,16 @@ HWND WINAPI GetDesktopWindow(void) if (!thread_info->desktop) { + static const WCHAR command_line[] = {'\\','e','x','p','l','o','r','e','r','.','e','x','e',' ','/','d','e','s','k','t','o','p',0}; STARTUPINFOW si; PROCESS_INFORMATION pi; - WCHAR command_line[] = {'e','x','p','l','o','r','e','r','.','e','x','e',' ','/','d','e','s','k','t','o','p',0}; + WCHAR cmdline[MAX_PATH + sizeof(command_line)/sizeof(WCHAR)]; memset( &si, 0, sizeof(si) ); si.cb = sizeof(si); - if (CreateProcessW( NULL, command_line, NULL, NULL, FALSE, DETACHED_PROCESS, + GetSystemDirectoryW( cmdline, MAX_PATH ); + lstrcatW( cmdline, command_line ); + if (CreateProcessW( NULL, cmdline, NULL, NULL, FALSE, DETACHED_PROCESS, NULL, NULL, &si, &pi )) { TRACE( "started explorer pid %04lx tid %04lx\n", pi.dwProcessId, pi.dwThreadId );