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