Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Editbox&Listbox anderer Anwendung auslesen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
24.12.2005, 16:18 Uhr
CppProgrammer



Hallo
Ich hätte ein paar Fragen:

1) Gibt es eine Möglichkeit den Inhalt einer Editbox und/oder einer Listbox einer anderen Anwendung (die nichts mit meinem Programm zu tun hat) auszulesen?

2) Kann man auch einen Text in diese Editbox schreiben und dannach Enter drücken lassen

3) Oder einen Button drücken lassen?

Das ganze sollte funktionieren OHNE dass man Koordinaten braucht (um zB einfach den Mauszeiger über den Button zu setzen..) da die Position des Fensters der anderen Anwendung nicht immer die gleiche ist.


DANKE für eure Bemühungen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
24.12.2005, 22:58 Uhr
xXx
Devil


hmm ja.. mit findwindow kannst du das anwendungs fesnter suchen und dann kannst de die Button über ihre ID rausbekommen... musst de aber über Spy++ erst die ID suchen-...

PS: Soll das nen schlechter Weihnachtsscherz-Virus werden?!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
25.12.2005, 02:24 Uhr
CppProgrammer



Ne soll natürlich KEIN Virus werden
Nur ein kleines tool für den privaten Gebrauch. Also mit findwindow das Fenster suchen krieg ich noch hin.. aber wie gehts dann weiteR?
Ich hab jetz mit Spy++ zB das rausgekriegt:
00010344 "PM" TButton
Ist das das was ich brauch? Ich hab Spy++ zuvor noch nie benutzt.. also ich hab keine Ahnung..
Wie kann ich jetzt diesen Button drücken lassen?
Ein wenig Beispielcode wenn möglich wäre echt nett
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
25.12.2005, 12:38 Uhr
xXx
Devil


du musst die ID vom Button raussuchen... dann kannst de darauf ohne weiteres Zugreifen...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
26.12.2005, 14:35 Uhr
xXx
Devil


Also ich machs dir mal einfacher:


C++:
HWND hWnd = FindWindow("#32770", "Visual Assist X Trial"); // ID Des Fensters und die Caption des Fensters
    
if(hWnd == NULL)
      return FALSE;
    
HWND hButton = GetDlgItem(hWnd, 103); // 103 muss die entsprechende ID des Ctrls sein...
    
if(hButton == NULL)
      return FALSE;


Also damit hast de nen HWND von bsp. einem Button... das kannst de mit jedem beliebigem Ctrl machen, wenn du die ID hast... hab dir ja nen Link zum passenden Programm gegeben

Damit solltest de schon weiter kommen

Dieser Post wurde am 26.12.2005 um 15:04 Uhr von xXx editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
26.12.2005, 15:18 Uhr
xXx
Devil


Sry... der oben gepostete Code ist WinAPI... bei MFC spinnt der
also jetzt für die MFC:


C++:
CWnd* pWnd = FindWindow("#32770", "Visual Assist X Trial");  // ID Des Fensters und die Caption des Fensters

if(pWnd == NULL)
      return FALSE;

CEdit* pEdit;
pEdit = (CEdit*)pWnd->GetDlgItem(103); // Habs hir direkt auf dein oben angesprochenes EditCtrl geändert... 103 ist wieder die ID...

if(pEdit == NULL)
      return FALSE;

// Jetzt auslesen des EditCtrls
CString strEditContent;
pEdit->GetWindowText(strEditContent); // So jetzt hat strEditContent den Inhalt des EditCtrls

MessageBox(NULL, strEditContent, "EditCtrl Inhalt");



Das ganze lässt sich auch leicht auf ListBoxen oder ListCtrl erweitern...

Dieser Post wurde am 26.12.2005 um 15:25 Uhr von xXx editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: