Wie erlaube ich interaktive Dienste in Windows 7?

48959
Mehrdad

Ich muss einen Dienst interaktiv auf meinem Computer ausführen.
(Die Auswirkungen sind mir bereits bekannt.)

Wie kann ich einen Dienst (der in Sitzung 0 ausgeführt wird) für die Interaktion mit dem aktuellen Desktop in Windows 7 aktivieren?

5

2 Antworten auf die Frage

5
Harry Johnston

Ab Windows Vista gibt es keine direkt interaktiven Dienste. "Erlaube dem Dienst die Interaktion mit dem Desktop" ist im Grunde nur eine ältere Option, obwohl UI0Detect dann angezeigt werden sollte, damit du zu einem speziellen Desktop wechseln kannst, um mit dem Service zu interagieren.

Dieser Artikel beschreibt einige Optionen. Wenn Sie weitere Fragen haben, sollten Sie sich an Stack Overflow wenden, da dies ein Programmierproblem darstellt.

Beachten Sie, dass der UI0Detect-Dienst ab Windows 7 nicht standardmäßig gestartet wird. Wenn Sie auf ältere interaktive Dienste zugreifen müssen, möchten Sie möglicherweise die Konfiguration für UI0Detect so ändern, dass sie automatisch startet. Harry Johnston vor 10 Jahren 0
1
surfasb

Wenn es richtig entworfen wurde, gehen Sie unter services.msc und aktivieren Sie das Kontrollkästchen:

enter image description here

Es heißt "Bitte geben Sie ein gültiges Passwort ein". Wären die Privilegien auch hier nicht sehr begrenzt? Mehrdad vor 12 Jahren 0
Kommt drauf an was du tust. . . Was versuchst du sowieso? und was ist der service? surfasb vor 12 Jahren 0
Es ist ein Programm, das ich für meinen eigenen Gebrauch erstellt habe. Es braucht Systemprivilegien, aber wie gesagt, das ist eine sekundäre Sorge. Die Hauptsorge ist, dass dies nicht einmal funktioniert, da es mich nach einem Passwort fragt. Mehrdad vor 12 Jahren 0
Services.msc fragt nach einem Passwort? Wählen Sie das lokale Systemkonto aus. Entschuldigung, dass SS verwirrend ist, denke ich. surfasb vor 12 Jahren 0
Ja, es fragt nach einem Passwort. Wenn ich ein lokales Systemkonto sage, kann es trotzdem nicht interagieren (selbst wenn ich das Kästchen ankreuze, kotzt UI0Detect bei mir). Mehrdad vor 12 Jahren 0
Wie haben Sie diese Anwendung geschrieben? C # oder C ++? Welche Win32-Klassen rufen Sie an? Es gibt bestimmte Verträge, die Sie einhalten müssen. Wahrscheinlich kotzt das Betriebssystem Sie. Normalerweise schreibt NO ONE einen Dienst, der mit dem Desktop interagiert, da der Desktop beim Start noch nicht vorhanden ist und ein Dienst jederzeit ausgeführt werden kann. Normalerweise schreiben die Leute einen Dienst und dann ein separates Benutzeroberflächenprogramm, um mit dem Dienst zu interagieren. surfasb vor 12 Jahren 0
C ++. Sie sagen also, das ist nicht möglich? Mehrdad vor 12 Jahren 0
Ich sage, dass die Verwendung des Dienstes zum Aufrufen von UI-Objekten, die möglicherweise nicht vorhanden sind, der fehlerhafte Weg ist, Dinge zu tun. surfasb vor 12 Jahren 0
"Erlaube dem Dienst die Interaktion mit dem Desktop" ist eine ältere Option, da sie unter Windows Vista nicht mehr funktioniert. Harry Johnston vor 12 Jahren 2
@HarryJohnston: Ich erinnere mich, dass ich etwas Ähnliches gelesen hatte, aber ich habe es nicht gefunden. Sicherstellen, dass ich nicht verrückt werde. surfasb vor 12 Jahren 0