Was kann ein C-Dienst (Windows-Dienst) nicht, was ein normales C-Programm kann?
-
Ein Dienst kann keinerlei Tastatureingaben bekommen!
Ein Dienst hat keine Verbindung zu einem Desktop. Das Ding mit dem Interaktiven Dienst geht noch bis XP, seit Vista und WS2008 gibt es diese Funktion nicht mehr!
Einziger Trick: Du baust ein Frontend Modul, das separat gestartet wird und mit dem Service per IPC Kontakt aufnimmt.Was willst Du bei einem Dienst mit Tastatureingaben?
-
Martin Richter schrieb:
Was willst Du bei einem Dienst mit Tastatureingaben?
Keylogger basteln?
-
devkid schrieb:
Hast du diese Häkchen für "Interaktivität mit Benutzeroberfläche" bei dem Wirtsprogramm oder bei deinem Dienst gesetzt? Oder gab es da nur eins von beiden? Möglicherweise fällt die "Interaktivität mit Benutzeroberfläche"-Option durch die Wirtsprogramme ja auch ganz unter den Tisch, wodurch dann wieder keine Interaktion mit der graphischen Oberfläche möglich wäre.
So sieht das bei den Diensten aus, Dienstname: TAST_X,
hinterlegtes Programm: srvany.exe (<--Wirtprogramm)
http://img212.imageshack.us/img212/7383/dienstexj6.jpgSo sieht das ganze in der Regedit aus:
http://img338.imageshack.us/img338/2344/reg1tn3.th.jpgUnd hier im Schlüssel Parameters, gibts eine Variable Application, wo das eigentliche EXE-Programm hinterlegt ist:
http://img71.imageshack.us/img71/3996/reg2up5.th.jpgIm Taskmanager läuft dann beides: srvany.exe und tast_x.exe
devkid schrieb:
Und Input sollte eigentlich auch von einem normalen Desktop-Programm übernommen werden, nicht von einem Dienst. Wenn das OS gerade bootet kann man schlecht Tastatur- und Maus-Eingaben abfangen.
Naja, gebootet hat es ja dann schon.
Zu sehen ist leerer Desktophintergrund mit Loginmaske
-
Martin Richter schrieb:
Ein Dienst kann keinerlei Tastatureingaben bekommen!
Ein Dienst hat keine Verbindung zu einem Desktop. Das Ding mit dem Interaktiven Dienst geht noch bis XP, seit Vista und WS2008 gibt es diese Funktion nicht mehr!
Einziger Trick: Du baust ein Frontend Modul, das separat gestartet wird und mit dem Service per IPC Kontakt aufnimmt.IPC.. da läuten bei mir ein paar Glocken! Ich erinner mich zurück an die Schulzeit, Pipes, Semaphore, WaitingForSingleObject usw. Das krieg ich denk ich hin.
Aber unter Frontend Modul kann ich mir leider gar nichts vorstellen. Also was Frontend bedeutet schon, aber wie man so ein Modul erstellt und einbaut. Kann mir das bitte jemand kurz beschreiben, oder einen Link nennen? Hab auf anhieb keine brauchbaren Suchergebnisse gefunden.
Martin Richter schrieb:
Was willst Du bei einem Dienst mit Tastatureingaben?
Das Tool soll den Anwender bei der Benutzeranmeldung unterstützen.
-
Vanillekipferl schrieb:
Das Tool soll den Anwender bei der Benutzeranmeldung unterstützen.
Das wirst Du mit einem Service nicht hinbekommen.
-
Mit der von dir angesprochenen Realisierung würds klappen?
Bin auch schon fleißig am Suchen was dahintersteckt
-
Mit "Frontent Modul" meinte Martin einfach ein kleines Programm, welches ganz normal in der Window-Station des Users läuft. Also einfach ein ganz normales Programm, wie jedes andere. Dieses könnte dann über Pipes/Sockets/... mit dem Service kommunizieren.
Allerdings funktioniert das nicht für's Logon - denn da kann man keine "ganz normalen Programme" laufen lassen.
Also nein, damit funktioniert's auch nicht. Sich irgendwie am Logon Prozess zu schaffen zu machen ist denke ich ziemlich kompliziert.
-
Nach GINA googlen und dann sich wundern, was man alles machen muss um in den Anmeldeprozess reinzukommen.
-
Achso, einfach ein gewöhnliches EXE-Programm das in meinem Dienst-Programm aufgerufen wird.
Aber wenns damit auch nicht funktioniert, dann kann man wohl nichts machen.Die Zeit vor dem Einloggen gehört wohl ganz allein dem Betriebssystem und niemand anderem.
Im Logon-Prozess selbst will ich nicht unbedingt herummurksen.Falls doch noch jemanden eine Möglichkeit einfällt, wäre ich dennoch gespannt!
-
Na währe veileicht hilfreich was du wie wan und wo machen willst. Also dem User beim Anmelden helfen is mir zu Misteriös
Gruß Matthias
-
Den User während der Eingabe unterstützen mit Messageboxen
Wenn die Num-Lock Taste deaktiviert ist zb.Also dass das Programm schon läuft, während noch die Anmeldemaske da ist und der User noch nicht eingeloggt wurde