Wie das abfangen WebBrowser-Steuerelement "Wählen Sie" Datei zum Hochladen" - Fenster, bevor Sie geöffnet wird?
Meine Anwendung zu automatisieren ausfüllen und hochladen von Dateien über einen webBrowser Steuern.
Wenn ich invokeMember("click"), die üblichen "Wählen Sie" Datei zum hochladen" - Formular öffnet sich und kommt vor jeder anderen Anwendung kann ich zur gleichen Zeit. Gibt es eine Möglichkeit abzufangen, dieses Fenster, so dass ich leep mein Formular ausfüllen und Datei-Upload im hintergrund ?
- Es ist fast sicher ein javascript-Fenster. Die Art, dass nicht das Feuer das NewWindow-Ereignis. Also, keine.
- Eine ähnliche Frage beantwortet.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Antwort ist, dass Sie wohl können, allerdings wird es wahrscheinlich einen absurd komplizierten Prozess. Sie können Haken in den windows-CALLWNDPROCRET Benachrichtigung Kette, die Ihnen erlauben kann, um auf Ereignisse (wie dialog, Schöpfung), bevor Sie verarbeitet werden durch das webbrowser-Steuerelement. Ich habe diese verwendet werden, bevor Dinge wie das unterdrücken der "nicht vertrauenswürdigen Zertifikats' Warnung, aber ich würde nicht empfehlen, geht diesen Weg, es sei denn, Sie haben absolut keine andere Wahl.
Sicherheitsgründen, also nicht erlauben, programmgesteuert eine Datei hochladen. (In der Tat, Sie können sich gar nicht SendKeys verwenden, wie Microsoft geschlossen, das Loch zu.)
Jedoch Sie können erreichen, was Sie suchen, zu tun, indem Sie die Datei auf dem HTTP-header leicht. Es ist eine großartige Anleitung, die Ihnen helfen, so tun Sie dies:
http://www.codeproject.com/KB/aspnet/set-webbrowser-file-input.aspx