FAQ-Vorschlag: steuern von fremden Programmen, Spy++-Benutzung



  • Hi,
    habe folgendes gefunden, um den text "Hallo WorkPad" in das Edit-Feld
    des Wordpad zu schreiben. Müsste also eigentlich auch beim URL-Feld funzen
    evtl. mal das kombi-element anschauen/suchen.
    Hab leider heute keine Zeit mich selbst hinzusetzen, da ich in den Klausuren
    stecke.
    Ich hoffe das hilft dir ein wenig....
    Bis denne, vg!

    CWnd* pWnd = FindWindow(NULL,"Dokument - WordPad");
    if(pWnd) {
       HWND hWnd;
       pWnd->GetDlgItem(0xE900, &hWnd);
       ASSERT(IsWindow(hWnd));
       CWnd* pCtrl = (CWnd*)CWnd::FromHandle(hWnd);
       ((CRichEditCtrl*)pCtrl)->ReplaceSel("Hallo WorPad");
    }
    


  • Danke das Du Dir die Zeit genommen hast 😉 .

    Werd mal versuchen das hinzubekommen.

    übrigens bei Netscape 4.7 klappt das nicht - Spy hatt da als Klassennamen
    "Afx:400000:b:10011:6:d02c3" und beim nächsten mal heist der "Afx:400000:b:10011:6:d02c3", der ist auch gültig aber der ändert sich eben jedesmal. Kann ich auch irgendwie das Handle des Aktiven(Focus) Fenster bekommen - vileicht klappt es damit ... ?

    Noch alles gute für Deine Klausuren, Bummsfallera 🙂



  • Du, kein Problem! Bin ja schliesslich auch froh wenn mir jemand hilft.
    Wegen Netscape weiss ich leider nicht, sowas kommt mir nicht mehr auf
    meinen Rechner.



  • naja manche haben es ja noch - ich benutze nur Mozilla.
    Man müsste an das aktuelle Fenster kommen und von ihm den Titel auslesen und vergleichen ... und sich dann das handle schnappen.

    Ich hoffe ich kann Dir auch mal helfen 🙂



  • Da bin ich mir sicher...hast 100€? 😃 😃 😃 😃
    Also viel spass und hau rein!



  • klaro, für dich immer - wenn Du mir weiter so hilfst 😉



  • Ach ja, bevor ich es vergesse:
    Wenn du die lösung gefunden hast, kannst du sie dann bitte in diesem Thread
    posten? Mich würde das auch interessieren -> DANKE! 😉



  • ja, aber ich hoffe das mir noch wer helfen kann, das aktive Fenster zu bekommen.

    Soll ja irgendwie mit:

    FINDWINDOWHANDLESTRUCT fwhs;
    fwhs.ProcessInfo = lpProcessInformation;
    fwhs.hWndFound  = NULL;
    
    EnumWindows ( EnumWindowCallBack, (LPARAM)&fwhs ) ;
    

    gehen aber ich bekomm nur Fehler
    Die FINDWINDOWHANDLESTRUCT kann ich nicht in der msdn hilfe(VS6) finden - blick da nicht so durch 😞



  • verstehe ich nicht, welches aktive fenster?
    versuchst du immer noch auf das CEdit des IE zuzugreifen oder
    willst du allgemein den aktuellen Vordergrund-Window bekommen?



  • ja genau, den für das vordergrund-windows.

    hab hier gerade die funktion GetActiveWindow() gefunden, da steht aber:

    ... wird der Handle des aktuell aktiven Fenster, das dem aufrufenden Thred zugeordent ist, zurückgegeben ...

    Also bekomme ich mein eigenes Fensterhandle - das bringt ja nichts , oder ?


Anmelden zum Antworten