Alexandre Julliard : advapi32: Start non-interactive services in a separate window station.
Alexandre Julliard
julliard at winehq.org
Fri Dec 21 07:28:24 CST 2007
Module: wine
Branch: master
Commit: 7593fac6327bc8e95848801c83ae00cfee547c54
URL: http://source.winehq.org/git/wine.git/?a=commit;h=7593fac6327bc8e95848801c83ae00cfee547c54
Author: Alexandre Julliard <julliard at winehq.org>
Date: Thu Dec 20 16:44:36 2007 +0100
advapi32: Start non-interactive services in a separate window station.
---
dlls/advapi32/service.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/dlls/advapi32/service.c b/dlls/advapi32/service.c
index f55077a..8a775ad 100644
--- a/dlls/advapi32/service.c
+++ b/dlls/advapi32/service.c
@@ -1578,6 +1578,12 @@ static DWORD service_start_process(struct sc_service *hsvc, LPDWORD ppid)
handles[0] = service_get_event_handle( hsvc->name );
ZeroMemory(&si, sizeof(STARTUPINFOW));
si.cb = sizeof(STARTUPINFOW);
+ if (!(svc_type & SERVICE_INTERACTIVE_PROCESS))
+ {
+ static WCHAR desktopW[] = {'_','_','w','i','n','e','s','e','r','v','i','c','e','_','w','i','n','s','t','a','t','i','o','n','\\','D','e','f','a','u','l','t',0};
+ si.lpDesktop = desktopW;
+ }
+
r = CreateProcessW(NULL, path, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
if (r)
{
More information about the wine-cvs
mailing list