Alexandre Julliard : user: Explicitly load explorer. exe from the system directory.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Aug 16 10:17:55 CDT 2006


Module: wine
Branch: master
Commit: 7814420f2f075a88d9f9dd476c86927029943b1a
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=7814420f2f075a88d9f9dd476c86927029943b1a

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Wed Aug 16 16:43:08 2006 +0200

user: Explicitly load explorer.exe from the system directory.

---

 dlls/user/win.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/dlls/user/win.c b/dlls/user/win.c
index a4f2c26..362f18d 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 );




More information about the wine-cvs mailing list