Webbrowser markieren und laden nach submit überprüfen
-
Ich habe zwei Fragen.
1. Wie kann ich die geladene Seite in einem Webbrowser markieren (wie über das Kontextmenü alles markieren)2. Nachdem ich eine Webseite geladen habe und über submit einen Eintrag abgeschickt habe, will ich überprüfen, ob die Seite neu geladen wurde. Wie kann man das anstellen.
Vielen Dank im Voraus.
-
In welcher Sprache soll das geschehen ?
-
In C++ Visual Studio 05 mit Windows.Forms
-
garnicht
-
mmh, sehr schade. gibt es denn die Möglichkeit das ganze mit C# zu erreichen?
Unter Delphi ist ja z.B. das Markieren möglich.
-
Na das makieren wird ebenso gehen wie das "in den Submit reinsetzen" - aber da wirst eher mit dem IE spielen müssen.
Erster Ansatz ist zu schauen wie es in Delphi geht und dann zu prüfen wie man das in .Net umsetzen kann.
Das in Submit rein hängen stelle ich mir da deutlich schwerer vor.
Ich weiß nicht was Du vorhast, aber ich denke es lässt sich einfacher Lösen.
Beschreib doch mal das Endziel, vllt kann man da dann ein paar TIps für den Weg dorthin geben.
-
Also ich möchte eine Website markieren und in die Zwischenablage kopieren. Das ist an sich auch kein Problem, denn es gibt ja die Möglichkeit die Clipboard Klasse zu nutzen. Leider überwacht aber ein anderes Tool das Clipboard und es kommt zu Problemen, da beide Programme nicht gleichzeitig auf die Zwischenablage zugreifen können. Bei markieren eines Textes und anschließenden Kopieren mit Ctrl-C tritt diese Schwierigkeit nicht auf, darum möchte ich es wie bei Delphi über mark and copy regeln.
In Delphi geht es mit folgenden Code
procedure TForm1.webbrowser_actions(browser:TWebBrowser;Query_cmdID:OLECMDF;var vaIn,vaOut: OleVariant); var eQuery: OLECMDF; begin try eQuery := Browser.QueryStatusWB(Query_cmdID); if (eQuery and OLECMDF_ENABLED) = OLECMDF_ENABLED then Browser.ExecWB(Query_cmdID, OLECMDEXECOPT_PROMPTUSER, vaIn, vaOut); except //irgendwas end; end;
-
Darf die Seite denn in einem eigenen Control liegen oder >>muss<< es der IE sein ?
Wenn nein, schau Dir mal System.Net an - zudem gibts noch ne WEbBrowser klasse. Damit solltest Du an Deinen Text kommen. (brwoser:TWebBrowser deutet ein wenig darauf hin das es in ner eigenen KLasse sein darf)
-
Der Browser liegt in einem eigenen Control. Ich nutze die WebBrowser Klasse (System::Windows::Forms::WebBrowser()).
Wenn es was nutz kann ich auch gerne meine Form1.h hier hereinstellen.
-
Dann schau Dir das Control doch einfach mal in der MSDN an - da gibts allerlei Hilfestellung und Beispiele speziell zum WebBrowser Steuerelement.
-
für Problem Nr. 1. habe ich eine Lösung gefunden
this->webBrowser->Document->ExecCommand("SelectAll", false, nullptr);
Damit lassen sich Befehle an das Browserfenster übermitteln. Mal schauen, ob ich auch noch eine Lösung für das submit Problem finde.
-
Wenn Du eines gefunden hast, Poste bitte den Lösungsansatz (ggf. für die FAQ) - das wissen dürfte eventuell noch mal jemanden viel Sucharbeit sparen
Danke Dir!