![]() |
Mauszeiger im Anmeldebildschirm bewegen
Hallo Leute,
ich hab ein echt kniffliges Problem: ich möchte den Mauszeiger programmgesteuert im Anmeldebildschrim bewegen (mein Programm läuft als Service...). Wenn ich angemeldet bin funktioniert das mit mouse_event wunderbar. Sobald ich mich abmelde (oder "Benutzer wechseln") funktioniert das aber nicht mehr. Ich hab auch schon andere Varianten wie mouse.curorpos oder SendInput verwendet, alles ohne Erfolg. Gibt es irgendeine API-Funktion o.Ä., mit der ich den Mauszeiger auch im Anmeldebildschrim kontrollieren kann (klicken sollte natürlich auch gehen...)?? Oder mit Botschaften? Oder ist das prinzipiell nicht möglich. Die Befehle kommen übrigens über die serielle Schnittstelle. Gruß vom Bambi |
Re: Mauszeiger im Anmeldebildschirm bewegen
Du meinst den Login-Dialog von Windows? Der wird auf einem anderen Desktop aus einer anderen Windowsstation angezeigt. Beschäftige dich mal mit Windowsstations und Desktops und dem Sicherheitskontzept* von Windows.
*) Und bevor einer kommt, Windows kenne kein Sicherheitskonzept, doch das gibt es. ;) |
Re: Mauszeiger im Anmeldebildschirm bewegen
Da wirst du dir wohl 'ne eigene GINA (so hieß diese Krankheit doch?) einrichten müssen.
Ich bezweifle, daß du aus Sicherheitsgründen keinen Zugriff auf diesen "Desktop" bekommst. |
Re: Mauszeiger im Anmeldebildschirm bewegen
Mal so nebenbei ...
Warum willst du die denn bewegen? Evtl. gibbet ja auch ne andere Lösung!? |
Re: Mauszeiger im Anmeldebildschirm bewegen
Zitat:
@TeronG: Natürlich muss es nicht so gehen, wenns ne andere Lösung gibt. Da bin ich sehr flexibel. ZUr erklärung: ich habe sowas in die Richtung wie ein Touchpanel angeschlossen und bekomme per serieller Schnittstelle die Koordinaten, an die sich mein Mauszeiger bewegen soll (quais als Mausersatz). Wenn ich mich abmelde, brauch ich natürlich irgendeine Möglichkeit, dass ich mich auch wieder anmelde. Meine Idee war halt mit der Maus, aber wenns anders geht, warum nicht... Evtl. mit keyboardsteuerung (da kann man ja mit den Pfeiltasten und Entertaste navigieren...). aber ob ich die befehle dann da auch hinschicken kann?? |
Re: Mauszeiger im Anmeldebildschirm bewegen
Zitat:
|
Re: Mauszeiger im Anmeldebildschirm bewegen
joar, da du keinen Zugriff auf diese Umgebung bekommst, wirst du wohl auch keine "Tasten" dort hinsenden können.
der Grund: sonst könnte ja einfach eine Anwendung dich im Windows ausloggen und dann über diesen Anmeldebildschirm sich wieder einloggen und hätte dann Zugriff auf alles (vorher könnte man noch das Password des Admins belauschen) [add] ich würde mich eventuell mal mit Olli/Assarbad in Verbindung setzen, bzw. mich erstmal auf seiner Seite etwas umsehn (hier im Forum ist er auch unterwegs und da gibt es bezüglich der ![]() |
Re: Mauszeiger im Anmeldebildschirm bewegen
Wäre auf jedenfall cool, wenn du uns hier dzau auf dem laufenden halten könntest, wie du damit vorankommst. Klingt nämlich nach ner sehr interessanten Sache, bin gespannt auf deine Lösung. :) (Zumindest drück ich dir die Daumen, dass du das hinbekommst ;) )
mfg, mh166 |
Re: Mauszeiger im Anmeldebildschirm bewegen
puh... dann werd ich wohl doch noch ne "backup-maus" hinhängen müssen...
danke aber trotzdem für eure Hilfe, bin jetzt um einiges schlauer. und ihr habt verhindert, dass ich noch stundenlang sinnlos rumprobier...! @mh166: ich glaube so viel zeit und durchblick habe ich nicht... gruß vom bambi |
Re: Mauszeiger im Anmeldebildschirm bewegen
Hm, wie sieht's denn mit DLL-Injektion aus? Das sollte doch klappen und ist noch verhältnismäßig einfach.
So ein GINA-Teil würde ich nicht mehr in Angriff nehmen, da seit Vista nicht mehr unterstützt (Da gibt's jetzt was anderes was auch einen komischen Namen hat :stupid: ) |
Re: Mauszeiger im Anmeldebildschirm bewegen
Zitat:
|
Re: Mauszeiger im Anmeldebildschirm bewegen
Ich musste es dank dir natürlich dann ausprobieren. Funktioniert.
|
Re: Mauszeiger im Anmeldebildschirm bewegen
Zitat:
|
Re: Mauszeiger im Anmeldebildschirm bewegen
Unter XP kann ein Dienst die Maus steuern, sofern der Benutzer nicht FUS oder RDP verwendet(, sonst wie in Vista). In Vista muss man ein Programm als SYSTEM Benutzer über einen Dienst in die Sitzung des Benutzers (normal 1) starten. Dann geht's.
Es kann auserdem sein, dass man noch die Winstation und den Desktop setzen muss. (SetProcessWinstation und SetThreadDesktop) |
Re: Mauszeiger im Anmeldebildschirm bewegen
Zitat:
Ich habe es hinbekommen, in winlogon.exe, über den Weg wo es 100 Beispiele zu gibt (VirtualAllocEx, WriteProcessMemory, CreateRemoteThread), einen Thread zu starten. Ihr könnt mich jetzt allerdings steinigen, wenn winlogon.exe auf dem falschen Desktop läuft. Vielleicht ist das auch der totale Holzweg, vielleicht war ich auch zu voreilig... Schönes Wochenende :P |
Re: Mauszeiger im Anmeldebildschirm bewegen
Ich müsste dich steinigen, wenn deine Injektion in Winlogon einen BSOD verursacht, weil du den Prozess zerstörst :wink:
|
Re: Mauszeiger im Anmeldebildschirm bewegen
Gottverdammt. Ich bin jetzt kein Profi in C, aber habe damit das Programm gebaut, das die DLL "injected". Die VM bekam dann immer so einen wunderschönen BSOD wie in alten Zeiten. Trotzdem hat keine der Funktionen einen Fehler zurückgegeben, und ich dachte mir "Hm, scheinbar bin ich zu doof, das mit C zu machen, aber wenn Windows abschmiert, wird der Thread wohl gestartet worden sein."
Nichts für ungut, verzeiht mir, gute Nacht. :mrgreen: /Thread? |
Re: Mauszeiger im Anmeldebildschirm bewegen
Zitat:
Ich bitte höflichst um den Code dazu, des wäre ja genial... Und was genau ist DLL-Injektion. Hab zwar a weng was drüber gelesen, aber wie des jetzt genau funktionieren soll ist mir noch nicht ganz klar. Und was war das mit dem: Zitat:
Muss nächste Woche mal probieren... Bis dann, gute Nacht und vielen Dnake für die Antworten! Bambi |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz