Frage

Ich habe win32api.MessageBox wurde mit Warnungen zu tun, und das funktioniert für Anwendungen aus der interaktiven Eingabeaufforderung und normal ausgeführt Code ausgeführt wird, aber wenn ich einen Python-Dienst aufgebaut, wenn ein MessageBox ausgelöst Ich kann den Piepton hören, aber die Box wird nicht angezeigt. Ist es möglich, Warnungen von Diensten angezeigt werden?

War es hilfreich?

Lösung

Nein, Windows-Dienste auf einem völlig separaten versteckten Desktop ausgeführt und haben keinen Zugang zu dem angemeldeten Benutzer-Desktop. Es gibt keinen Weg, um dies aus Sicht des Service-Entwickler.

In früheren Versionen von Windows war es möglich, dass ein Dienst markiert werden als „erlaubt dem Benutzer Desktop zu interagieren“, aber diese Option wurde in XP oder Vista entfernt (ich vergessen, welche). Jetzt können Dienste nicht mit dem Desktop des Benutzers interagieren.

Eine Lösung für Ihr Problem könnte sein, eine Desktop-Anwendung, die mit dem Service durch einig IPC-Verfahren in Verbindung steht. Wenn der Dienst will den Benutzer von einem gewissen Zustand aufmerksam zu machen, würde es die Desktop-Anwendung benachrichtigen, die dann ein regelmäßiges Meldungsfeld angezeigt werden sollten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top