Wie wähle ich das Konto auf dem Anmeldebildschirm von Windows7 aus, indem ich den Namen eingebe?

7

Wenn MacOS hochfährt und die Benutzer aufgefordert werden, die Konten auszuwählen, bei denen sie sich anmelden möchten, können die Benutzer entweder mit der Maus auf den Namen / das Symbol des Kontos klicken oder einfach den Namen des Kontos eingeben.

Ich möchte dasselbe auf dem Anmeldebildschirm von Windows 7 tun: Der Anmeldebildschirm wird angezeigt. Ich beginne mit der Eingabe meines Kontonamens, wähle das Konto mit aus enterund gebe dann das Kennwort ein und entererneut. Keine Benutzung der Maus beteiligt.

(Ich bin mir bewusst, dass Tab-Cycling und es schwierig sind, dem fast unsichtbaren Marker zu folgen, wo der Fokus gerade liegt.)

Akira
quelle
3
Microsoft hat nicht darüber nachgedacht. Es scheint absolut keine Lösung zu geben :). Abgesehen von der klassischen Anmeldung, bei der Sie Ihre GANZE Anmeldung eingeben.
sinni800
@ sinni800: das ist, was das Kopfgeld ist, wenn es einfach wäre, hätte ich die Lösung selbst gefunden :)
Akira
Sollte ich mich herausgefordert fühlen, jetzt einen neuen Anmeldebildschirm zu programmieren?
sinni800
2
Das einzige ist, dass ich es nicht kann. Vielleicht könnte Mark Russinovich, der Windows und Windows Api Guru, :)
sinni800
1
@akira: Quelle von oben: stackoverflow.com/a/3143055/47064
Tamara Wijsman

Antworten:

9

Sie möchten einen spezialisierten Anbieter für Anmeldeinformationen schreiben. Ich werde keine für Sie schreiben, nicht einmal für 5000 Wiederholungen, aber ich kann Sie in die richtige Richtung weisen.

Der Artikel Erstellen benutzerdefinierter Anmeldeerfahrungen mit Anbietern von Anmeldeinformationen für Windows Vista erläutert die Grundlagen der Abkehr von Microsoft vom früheren GINA-Modell. Es wird ein Beispiel entwickelt, das die neuen Funktionen über einen hybriden Anbieter von Anmeldeinformationen demonstriert, mit dem ein Benutzername, ein Kennwort und ein Domänenname auf einer Smartcard gespeichert werden können, sodass der Benutzer beim Einsetzen der Karte automatisch angemeldet wird.

Microsoft bietet auch Beispiele für Anbieter von Anmeldeinformationen zum Herunterladen an , die ein Übersichtsdokument enthalten, in dem beschrieben wird, wie diese erstellt werden.

Wenn Sie beabsichtigen, Ihren Anmeldeinformationsanbieter zu entwickeln, empfehle ich aus offensichtlichen Gründen dringend, ihn in einer virtuellen Maschine zu debuggen.

harrymc
quelle
4
Ich würde es für 5000
Wiederholungen in
Endlich jemand mit den richtigen Zeigern.
Akira
Sie können diesen Artikel auch lesen: paralint.com/blog/2009/02/24/…
Joe Taylor
Es ist eine gute Idee, Anbieter von Anmeldeinformationen vorzuschlagen. Es wäre eine Menge Arbeit, aber es wäre geschickt, wenn jemand eine machen würde, die so funktioniert.
nhinkle
1
@akira: Ja, du musstest auf die Bounty-Schaltfläche klicken. Dies ist irgendwo in den FAQ vergraben.
Harryc
8

Wenn Sie noch einmal darüber nachdenken, gibt es viel einfachere Möglichkeiten, dies zu erreichen:

  1. Option eins (bestätigt) : Ein guter alter Trick, um ein Programm auf dem Anmeldebildschirm auszuführen. :-)

    1. Übernehmen Sie den Besitz von % WINDIR% \ System32 \ osk.exe und ersetzen Sie es durch das Programm ab Schritt 4.

    2. Gehen Sie zum Ease of Access Center . Verwenden Sie den Computer ohne Maus oder Tastatur .

    3. Aktivieren Sie die Option Bildschirmtastatur verwenden .

    4. Speichern und zurückgehen, klicken Sie auf der linken Seite auf Administrative Einstellungen ändern .

    5. Klicken Sie hier, um die Einstellungen auf den Anmeldedesktop anzuwenden und zu speichern.

  2. Option 2 (sollte funktionieren) : Dienste werden immer ausgeführt, damit sie Programme auf dem Anmeldebildschirm starten können.

    1. Schreiben Sie eine Dienst- C / C-Nummer , die früh startet, und legen Sie den Starttyp möglicherweise so fest, dass sie in der Registrierung gestartet wird.

    2. Lassen Sie den Dienst C / C # erkennen, wenn winlogon.exe gestartet wird. Danach startet er unser Programm.

  3. Option drei (scheint nicht zu funktionieren): Der Taskplaner bietet Optionen dafür. Ich habe versucht, basierend auf "Startup" und "Winlogon WGA Event" zu starten, aber beide waren nicht erfolgreich. Vielleicht muss ich einen anderen Benutzer festlegen als "System", damit dies funktioniert ... Alternative : Winlogon Notification DLL

  4. Dies ermöglicht es uns, unser eigenes schriftliches Programm auf dem Anmeldebildschirm auszuführen!

    • Mit SetWindowsHookEx können Sie einen WH_KEYBOARD-Hook erstellen, um Eingaben zu verarbeiten.

      • Alternative : Erstellen Sie ein GUI-Fenster und geben Sie diesem Fenster den Fokus.
      • Alternative 2 : Wenn Sie die Benutzer ausblenden, können Sie das Feld Benutzername verfolgen, siehe AutoItX unten.
         
    • Mit WMI können Sie alle lokalen Benutzer auflisten .

    • Durch Aufrufen von AutoItX- Funktionen können Sie den Windows-Anmeldebildschirm über Ihre App bearbeiten . Auf diese Weise können wir auch feststellen, ob wir uns auf dem Anmeldebildschirm befinden, indem wir überprüfen, ob der Explorer ausgeführt wird.

      AutoItWindow zeigt an, dass der Bildschirm: lautet Class: AUTHUI.DLL: LogonUI Logon Window und das Kennwortfeld benannt ist Edit1, sodass Sie die eingegebenen Daten tatsächlich lesen können.

    Auf diese Weise sollten Sie in der Lage sein, ein Programm auszuführen, das auf die von Ihnen eingegebenen Zeichen wartet, die Liste der Konten abruft und bei Feststellung einer Übereinstimmung das entsprechende Konto automatisch vervollständigt .

    Ich würde C ++ (Native) oder C # (PInvokes für API-Aufrufe, einfaches WMI) vorschlagen, aber jede Sprache könnte passen ...

  5. Alternative:

Ich denke , dass es möglich sein könnte, nur eine kompilierte AutoIt - Skript zu verwenden , um diese Aufgabe zu erfüllen, wie Sie können verfolgen und manipulieren Sie den Benutzernamen Feld und auch WMI aufzuzählen , die die einzige Sache , die Sie diese Arbeit bekommen müssen , ist. Möglicherweise müssen Sie die Tray-Symbol-Funktion deaktivieren ...

Sie können AutoIt Window Info (als osk.exe platzieren ) verwenden, um die Klassennamen auf dem Anmeldebildschirm anzuzeigen.

Tamara Wijsman
quelle
3
Sehr interessant ... Ich würde gerne sehen, ob das funktioniert ... vielleicht sogar blogwürdig;)
James Mertz
Interessant. Möchte jemand es in einer VM versuchen? Ich bleibe dabei, meinen Namen am Anfang des Alphabets zu haben.
digitxp
Alternativ können Sie die Datei auch mithilfe Ihrer Installations-CD / DVD zurücksetzen. :-)
Tamara Wijsman
1
Ich habe den osk-Trick ausprobiert und er funktioniert unter Windows 7 nicht. Obwohl ich osk.exe übernommen habe, kann ich ihn unter Windows 7 in keiner Weise ändern. Die in dieser Antwort vorgeschlagenen Hacks werden von Windows 7 verhindert, da Viren sonst recht einfach Benutzerkennwörter erfassen könnten. Die einzige rechtliche und funktionierende Lösung ist das Schreiben eines Anbieters von Anmeldeinformationen - es gibt keinen anderen Weg.
Harrymc
1
@ sinni800: Du hast recht mit den Berechtigungen. Als ich jedoch osk.exe durch einen Notizblock ersetzte, passierte nichts. In jedem Fall handelt es sich bei dieser Lösung um eine Sicherheitsverletzung, die möglicherweise auch durch das nächste Windows Update ungültig wird. Es wird sicherlich durch ein "sfc / scannow" signalisiert. Nicht zu empfehlen, da das Monkeying mit Windows-Kerndateien zu riskant ist.
Harrymc
0

Windows Vista und Windows 7 erledigen dies sofort für Domain-Anmeldungen.

Dies funktioniert nur in Windows-Editionen, die den Domänenbeitritt unterstützen. Möglicherweise können Sie ein Skript erstellen, das dies für Sie in anderen Editionen erledigt. Lassen Sie es mich wissen, und ich werde mich darum kümmern.

Starten Group Policy Editor( Start> Run> gpedit.msc).

Suchen Sie nach Computer Config\ Windows Settings\ Security Settings\ Local Policies\ Security Options\ Interactive logon: Do not display last user nameund setzen Sie dies aufEnabled

Wenn Sie sich das nächste Mal anmelden, sollten Sie in der Lage sein, den gewünschten Benutzernamen einzugeben.

William Hilsum
quelle
Dies bietet überhaupt keine automatische Vervollständigung des Benutzernamens.
sinni800
Aber ohne in die Programmierung einzusteigen, denke ich, dass dies bei weitem die beste Lösung ist.
William Hilsum
2
das will ich nicht Es werden die Avatare nicht mehr angezeigt, es ist nur der einfache alte Typ in (vollem) Benutzername und Passwort.
Akira