explorer.exe: Mark explorer as a system process.

This commit is contained in:
Alexandre Julliard 2007-06-06 20:33:22 +02:00
parent 156b205eb5
commit d45450deaf
1 changed files with 6 additions and 0 deletions

View File

@ -31,6 +31,8 @@ WINE_DEFAULT_DEBUG_CHANNEL(explorer);
#define DESKTOP_CLASS_ATOM ((LPCWSTR)MAKEINTATOM(32769)) #define DESKTOP_CLASS_ATOM ((LPCWSTR)MAKEINTATOM(32769))
#define DESKTOP_ALL_ACCESS 0x01ff #define DESKTOP_ALL_ACCESS 0x01ff
extern HANDLE __wine_make_process_system(void);
static BOOL using_root; static BOOL using_root;
/* window procedure for the desktop window */ /* window procedure for the desktop window */
@ -198,6 +200,10 @@ void manage_desktop( char *arg )
/* run the desktop message loop */ /* run the desktop message loop */
if (hwnd) if (hwnd)
{ {
/* we don't use the system process event, the server
* posts a WM_CLOSE when the last desktop user is gone */
CloseHandle( __wine_make_process_system() );
WINE_TRACE( "desktop message loop starting on hwnd %p\n", hwnd ); WINE_TRACE( "desktop message loop starting on hwnd %p\n", hwnd );
while (GetMessageW( &msg, 0, 0, 0 )) DispatchMessageW( &msg ); while (GetMessageW( &msg, 0, 0, 0 )) DispatchMessageW( &msg );
WINE_TRACE( "desktop message loop exiting for hwnd %p\n", hwnd ); WINE_TRACE( "desktop message loop exiting for hwnd %p\n", hwnd );