NT-Service soll Dialog zeigen
-
Hallo zusammen,
ich habe nun einen NT-Service erstellt, der eine weitere Anwendung anstößt... Dabei handelt es sich um eine Setup-Anwendung. Diese möchte natürlich ein paar Dinge wisse (Zielpfad, Lizenz, etc.) Im Taskmanager sehe ich das die Setupanwendung auch gestartet wurde, kann jedoch keine Dialog auf dem Desktop sehen... Was kann ich da machen??
Thx
Dominique
-
Du mußt Deinem Dienst erlauben, mit dem Desktop zu interagieren (Interact with Desktop). Diese Eigenschaft sollte er dann auf alle von ihm gestarteten Programme vererben...
-
Du mußt Deinem Dienst erlauben, mit dem Desktop zu interagieren (Interact with Desktop). Diese Eigenschaft sollte er dann auf alle von ihm gestarteten Programme vererben...
Händisch geht das...
Kann ich das zur Laufzeit machen??
-
handyman2 schrieb:
Kann ich das zur Laufzeit machen??
Das geht auch. Aber überlege Dir, ob Du das nicht auch anders lösen kannst. Ein Service sollte besser kein UI haben, IMO.
Die Fenster werden jedenfalls alle richtig erzeugt. Sie sind nicht sichtbar, weil sie auf einem anderen Desktop liegen. Du mußt den für den Service aktiven Desktop also 'umbiegen'. Das geht mit SetThreadDesktop. Der interaktive Desktop heisst "default" und läuft auf der WindowStation "WinSta0".
Im MSDN gibt es sogar ein kleines Sample:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/interacting_with_the_user_in_a_service.asp?frame=true
-
Danke... Genau das war es!!
-
-King- schrieb:
Im MSDN gibt es sogar ein kleines Sample:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/interacting_with_the_user_in_a_service.asp?frame=trueDer obige Link ist tot.
Hat jemand ein anderes Beispiel?Danke vielmals
-
x schrieb:
-King- schrieb:
Im MSDN gibt es sogar ein kleines Sample:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/interacting_with_the_user_in_a_service.asp?frame=trueDer obige Link ist tot.
Hat jemand ein anderes Beispiel?Danke vielmals
Versuch mal den:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/interactive_services.aspweiß nicht genau obs derselbe ist, zumindest ist er über Interactive Services