Frage

So lange Geschichte kurz, ich versuche, einige Dinge zu automatisieren, wenn mein Computer aufsteigt. Ich dachte, ich würde eine C # Console-Anwendung dazu schreiben, dies zu tun, und fügen Sie sie dann einer Zeitplanaufgabe in Windows hinzu, die auf dem Bootup ausgeführt werden soll. Mein Problem ist mit einem Programm, es erfordert ein Passwort und hat keine Optionen, um über die Befehlszeile zu öffnen. Somit muss es manuell eingegeben werden. Mein Gedanke war es, mein Passwort von einer KeePass-Datenbank abzurufen, und verwenden Sie Sendkeys, um das Kennwort einzugeben, und loggen Sie sich dem Programm an. Das Problem, das ich habe, ist die Zeit, in der er zu laden ist; Ich habe keine Möglichkeit, zu erkennen, wann die GUI-Schnittstelle geladen ist, und ist bereit für meine Sendkekse. Gibt es eine Möglichkeit, dies zu erkennen? Ich gehe davon aus, dass alles, was ich zusammenarbeiten muss, ist der "Prozess" -Klas, da ich das Programm verwendet habe. Beachten Sie auch, dass, wenn ich die ausführbare Datei mit process.start () ausführe, ein weiteres Prozess zum Anmelden erstellt, aber es hat kein zugehöriges Fenster, das ich mit Windows-API-Anrufen erfahren kann.

okay, das war lang, ich kann wieder aufnehmen ...

Problem: Von c # Erkennung, wenn ein Drittanbieterprogramm geladen hat (d. H. Der Begrüßungsbildschirm ist weg und GUI ist für die Benutzerinteraktion bereit, was ich nicht verlassen kann, wenn der Prozess läuft oder nicht). Keine Befehlszeilenoptionen für das Programm Dritter oder ich würde es einfach mit dem Kennwort als Argument ausführen.

Ziel: So verwenden Sie Sendkekse, um das Eingeben eines Kennworts zu automatisieren, aber mein Programm muss jedoch warten, bis die Antrag des Dritten, um das Laden zu beenden.

Notizen: Verwenden von C # .NET 3.5-Konsolenanwendung Last für meine eigene Form nicht erkennen, aber ein Dritter, sonst wäre dies einfach (d. H. FORM_LOADED Event ...)

Vielen Dank, dass Sie meine Frage angesehen haben, wenn Sie weitere Details oder irgendetwas wünschen, lassen Sie es mich wissen lassen.

update :

Problem gelöst! Die beiden Antworten, die ich erhalten habe, kombinierte, um mir die gewünschte Lösung zu geben. Wenn also jemand später erscheint, hier ist, was ich getan habe, um es zu arbeiten.

Ihr Programm automatisiert ein Login für einige Client-Software, an die Sie sich anmelden müssen. Mein Problem war, dass die Software keine Option oder Dokumentation für Befehlszeilen-Prameter anbietet, die viele andere Programme anbieten, damit Sie sich mit einem KeyFile oder etwas anmelden können. Dieses Programm deaktiviert auch Kopieren und Einfügen, sodass das Kennwort manuell eingetippt werden muss, was ein großer Schmerz ist, wenn Sie Passwörter wie ich tun, lange komplizierte, ohne Muster. Also schrieb ich dieses Programm für meinen Vorteil, auch andere bei der Arbeit; Ich plane es einfach, um an der Anmeldung an meinem Windows-Computer auszuführen, und er öffnet die Client-Software und führt Login automatisch aus.

generasacodicetagpre.

War es hilfreich?

Lösung

Sie können mit process.waitforinpatIDE nach dem Start eines Prozesses überprüfen, und warten Sie, bis er vollständig gestartet ist, hier ist das einfache Beispiel:

http://msdn.microsoft.COM / DE-US / Bibliothek / XB73D10T% 28V= Vs.71% 29.aspx

Andere Tipps

Versuchen Sie, das anzusehen: http://www.acoolsip.com/a-cool-blog/science-and-technology/151-c-send-commands-to-dependy-windows.html

Sie können überprüfen, ob das Fenster angezeigt wird (mit dem Link) und dann Nachrichten senden (auch auf dem Link)

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