4 Stimmen

Verwendung von C++ für den Zugriff auf den Internet-Explorer

Nun, wie das Thema sagt, möchte ich wissen, ob es ein Tool oder ein Tutorial gibt, das mir helfen kann, auf den IE zuzugreifen, eine bestimmte URL aufzurufen und eine Aktion auf dieser Website durchzuführen. So hätte ich ein Programm, das das für mich tut, anstatt es jedes Mal selbst zu tun.

0 Stimmen

Erläutern Sie bitte "etwas auf dieser Website tun".

0 Stimmen

Bitte schreiben Sie in Englisch (oder einer anderen echten Sprache), wenn Sie hier sind. AOLbonics (die Verwendung von "1" anstelle von "one", "u" anstelle von "you" usw.) ist ein guter Weg, um potenzielle Antwortende komplett abzuschrecken. Außerdem willkommen bei SO - wenn Sie sich gut mit den Mitgliedern verständigen können, werden Sie eine tolle Zeit haben.

1voto

Ric Tokyo Punkte 6497

Hier ist ein Projekt zur Automatisierung des Internet Explorer mit C++

0 Stimmen

Um es vorweg zu nehmen: Dies ist in der Regel ein extremer Overkill. Screen Scraping und einige einfache HTTP-Aufrufe sind in der Regel einfacher und weitaus effektiver.

0 Stimmen

Aber ich nehme an, das ist es, was er will.

0 Stimmen

Ich stimme Ihnen zu und denke daher, dass dies immer noch eine gute Antwort ist. Allerdings könnte eine Anmerkung zu dieser Antwort nützlich sein, um ihm bei der Auswahl der besten Lösung für seine Aufgabe zu helfen. Wenn man mit einer bestimmten Technologie im Hinterkopf an die Sache herangeht, wird man sich für diese entscheiden und nicht für eine Alternative, es sei denn, man hat gute Gründe, die dagegen sprechen.

1voto

Ric Tokyo Punkte 6497

Sie sollten wirklich Ihre Frage neu formulieren.. Sie sagten, was Sie tun möchten, ist die Anmeldung bei Hotmail programmatisch, überprüfen Sie den Pidgin-Code, sie tun es.

Dokumentation gefunden aquí , aquí und Sie können, denke ich, nach Belieben durch den Code und die Tutorials navigieren, bis Sie verstanden haben, wie die Pidgin-Autoren es gemacht haben.

Sie finden die Hauptseite für pidgin aquí

Codebeispiel für den Anfang:

00362 static void
00363 msn_show_hotmail_inbox(PurplePluginAction *action)
00364 {
00365       PurpleConnection *gc;
00366       MsnSession *session;
00367 
00368       gc = (PurpleConnection *) action->context;
00369       session = gc->proto_data;
00370 
00371       if (session->passport_info.file == NULL)
00372       {
00373             purple_notify_error(gc, NULL,
00374                                       _("This Hotmail account may not be active."), NULL);
00375             return;
00376       }
00377 
00378       purple_notify_uri(gc, session->passport_info.file);
00379 }

00652 void *
00653 purple_notify_uri(void *handle, const char *uri)
00654 {
00655       PurpleNotifyUiOps *ops;
00656 
00657       g_return_val_if_fail(uri != NULL, NULL);
00658 
00659       ops = purple_notify_get_ui_ops();
00660 
00661       if (ops != NULL && ops->notify_uri != NULL) {
00662 
00663             void *ui_handle = ops->notify_uri(uri);
00664 
00665             if (ui_handle != NULL) {
00666 
00667                   PurpleNotifyInfo *info = g_new0(PurpleNotifyInfo, 1);
00668                   info->type = PURPLE_NOTIFY_URI;
00669                   info->handle = handle;
00670                   info->ui_handle = ui_handle;
00671 
00672                   handles = g_list_append(handles, info);
00673 
00674                   return info->ui_handle;
00675             }
00676       }
00677 
00678       return NULL;
00679 }

0voto

Serafina Brocious Punkte 29935

Anstatt den IE für solche Dinge zu verwenden, sollten Sie sich nach geeigneten Siebkratzen Bibliotheken für die Sprache Ihrer Wahl. Sie können googeln und Stack Overflow durchsuchen, um viele solcher Bibliotheken zu finden. Von hier aus verwenden Sie die Web-APIs Ihrer Sprache, um Daten an den Server zu senden.

0voto

Michael Punkte 106

Ich kenne kein Werkzeug.

Ich verwende für solche Dinge einen eingebetteten Browser. Es ist möglich, eine Verbindung zu einer laufenden Instanz des IE herzustellen. Siehe Verbinden mit laufender Instanz des IE Sobald Sie eine Instanz von IWebBrowser2 erhalten, ist die Codierung dieselbe.

 1. Get the Document Interface
     pWebBrowser->Document->QueryInterface(
          IID\_IHTMLDocument2,(LPVOID\*)&Doc);
 2. Get all the elements on the Document
     Doc->get\_all(&Elements);
 3. enum the Elements
     Elements->get\_length(&ulLen);
     for\_each 
        Elements->item(item, index, &ppvElement);
 4. Detemine what element is desired. 
     \* by classname
     \* by ID etc.. here I used the classname
       ppvElement->get\_className (&bstrElement);
 5. Insert Text for user / password
    ppvElement->put\_innerText(wsUreser\_or\_Psswd)
 6. Find the Sign in button and click it.
    ppvElement->Click();

Ihre Ergebnisse können variieren.

--

Michael

0voto

Codingday Punkte 857

Warum machen Sie nicht einen Feed in flott in zwei Minuten? Offensichtlich haben einige Leute bereits getan auch.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X