2009-03-13 12 views
1

Ich möchte eine Windows-App automatisieren, die nur als GUI-App kommt (keine Unterstützung für die Befehlszeile). Die Automatisierung selbst ist relativ einfach mit AutoIt.Eine GUI in einem Windows-Dienst schreiben?

Aber ich frage mich, ist-es möglich, die Windows-App von mit einem Windows-Dienst (das würde einfach das AutoIt-Skript aufrufen) starten?

Antwort

2

Auch wenn Auto-it mit UAC arbeiten kann, werden Sie höchstwahrscheinlich Probleme bei der Sitzungsisolation haben - d. H. Dienste und Desktop vermischen sich nicht und senden keine Nachrichten, außer sie sind explizit codiert.

So ist es möglich, aber es ist auch kein Stück Kuchen.

Sie wollen wahrscheinlich betrachten: Launching a .Net winforms application interactively from a service

1

Während haupt nicht, weil von Komplikationen im Zusammenhang mit Session 0 Isolation in den neuesten Versionen von Windows, AutoIt Skripte verbunden ist, informiert kann sicherlich von einem Windows-Dienst aufgerufen werden. Bitte sehen Sie this page for a few sample scripts that work as expected when called from a Windows Service.

Leider scheinen nicht alle AutoIt-Funktionen in Sitzung 0 zu funktionieren. Wir haben Probleme mit den "Win *" - Routinen (WinActivate, WinExists), so dass Sie diese wahrscheinlich vermeiden sollten, wenn Sie können. Und da die Dokumentation die problematischen Funktionen nicht hervorhebt, unbedingt testen!