Commit e3b395ff authored by Alexandre Julliard's avatar Alexandre Julliard

user32: Run the explorer process from the system directory.

parent f2a4c6ee
...@@ -1785,6 +1785,7 @@ HWND WINAPI GetDesktopWindow(void) ...@@ -1785,6 +1785,7 @@ HWND WINAPI GetDesktopWindow(void)
static const WCHAR command_line[] = {'\\','e','x','p','l','o','r','e','r','.','e','x','e',' ','/','d','e','s','k','t','o','p',0}; 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; STARTUPINFOW si;
PROCESS_INFORMATION pi; PROCESS_INFORMATION pi;
WCHAR systemdir[MAX_PATH];
WCHAR cmdline[MAX_PATH + sizeof(command_line)/sizeof(WCHAR)]; WCHAR cmdline[MAX_PATH + sizeof(command_line)/sizeof(WCHAR)];
memset( &si, 0, sizeof(si) ); memset( &si, 0, sizeof(si) );
...@@ -1794,10 +1795,11 @@ HWND WINAPI GetDesktopWindow(void) ...@@ -1794,10 +1795,11 @@ HWND WINAPI GetDesktopWindow(void)
si.hStdOutput = 0; si.hStdOutput = 0;
si.hStdError = GetStdHandle( STD_ERROR_HANDLE ); si.hStdError = GetStdHandle( STD_ERROR_HANDLE );
GetSystemDirectoryW( cmdline, MAX_PATH ); GetSystemDirectoryW( systemdir, MAX_PATH );
lstrcpyW( cmdline, systemdir );
lstrcatW( cmdline, command_line ); lstrcatW( cmdline, command_line );
if (CreateProcessW( NULL, cmdline, NULL, NULL, FALSE, DETACHED_PROCESS, if (CreateProcessW( NULL, cmdline, NULL, NULL, FALSE, DETACHED_PROCESS,
NULL, NULL, &si, &pi )) NULL, systemdir, &si, &pi ))
{ {
TRACE( "started explorer pid %04x tid %04x\n", pi.dwProcessId, pi.dwThreadId ); TRACE( "started explorer pid %04x tid %04x\n", pi.dwProcessId, pi.dwThreadId );
WaitForInputIdle( pi.hProcess, 10000 ); WaitForInputIdle( pi.hProcess, 10000 );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment