Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Handle auf Fenster bekommen

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
28.09.2007, 07:30 Uhr
central



Hallo,
ich möchte mir ein Programm schreiben um mich automatisch einloggen zu können.
Bekomme aber kein Fensterhandle was ich aber benötige um mit SendKeys meine Daten einzutragen.
BSP

Code:
[DllImport("USER32.DLL")]
        static IntPtr FindWindow(String^ lpClassName, String^ lpWindowName);
IntPtr CasinoHandle = FindWindow("CasinoWndClass1", "'Everest Poker)'");

Herrausgefunden mit Microsoft Spy.
liefert mir leider kein HAndle .

gibt es noch andere möglichkeiten ein Handle zu bekomme am besten gleich auch auf die Childwindows ?


Gruß

central
--
no trouble no fun

Dieser Post wurde am 28.09.2007 um 07:31 Uhr von central editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
28.09.2007, 18:26 Uhr
mmc20
puss in boots


hi,

C++:
HWND hWndParent = ::FindWindow( NULL, _T("hier der name des fensters") );


damit haste schon mal das handle
dann noch die childs... spy mal was das für welche sind, wenns zum bsp. edits sind und du das dritte brauchst :

C++:
    HWND hWnd1 = ::FindWindowEx( hWndParent, NULL, "Edit", NULL );
    HWND hWnd2 = ::FindWindowEx( hWndParent, hWnd1, "Edit", NULL );
    HWND hWnd3 = ::FindWindowEx( hWndParent, hWnd2, "Edit", NULL );


dann kannste senden:

C++:
void C__testDlg::SendToHwnd( HWND hWnd, CString csText )
{
    for ( int i=0; i < csText .GetLength(); i++ )
        ::SendMessage( hWnd, WM_CHAR, (TCHAR)csText .GetAt(i), 0 );
}
//
    SendToHwnd( hWnd3, "das ist ein test" );

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
28.09.2007, 23:50 Uhr
central



Vielen Dank,
das schaut gut aus ,
kann das leider erst Sonntag testen,
melde mich dann ob es geht.

Gruß

central
--
no trouble no fun
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
30.09.2007, 20:19 Uhr
central



Hy,
leider ist _T unbekannt

Code:
error C3861: '_T': identifier not found


hmm was muss ich dafür einbinden oder wie muss ich _T dekalrieren ?

Gruß

central
--
no trouble no fun
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
30.09.2007, 22:35 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


_T wird in windows.h definiert.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
30.09.2007, 23:43 Uhr
central



Hallo,
#include <windows.h>

hab ich ja sowieso includiert.

mit
#include <tchar.h>

geht es aber dann kommen neue Fehlermeldungen
CString ist auch unbekannt auch wenn ich cstring.h includiere.

Das Problem hatte ich schon einmal mit dem unbekannten CString.

weiß aber leider nicht mehr wie die Lösung war .

Wäre nett wenn mir nochmal jemand bei der Lösung helfen würde.

Gruß
central
--
no trouble no fun

Dieser Post wurde am 30.09.2007 um 23:44 Uhr von central editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
01.10.2007, 12:01 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


CString ist MFC. d.h wenn du keine MFC verwendest, darfste auch kein CString verwenden.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
01.10.2007, 19:21 Uhr
central



Ok danke,
neues Projekt erstellt nun geht es aber leider eine neue Fehlermeldung

Code:
CtesteDlg::SendToHwnd' : cannot convert parameter 2 from 'const char [8]' to 'CString'
1>        Constructor for class 'ATL::CStringT<BaseType,StringTraits>' is declared 'explicit'
1>        with
1>        [
1>            BaseType=wchar_t,
1>            StringTraits=StrTraitMFC_DLL<wchar_t>
1>        ]



was muss ich ändern damit es funktioniert ?

Gruß

central
--
no trouble no fun
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
01.10.2007, 22:06 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


zeig mal den aufruf
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
03.10.2007, 05:55 Uhr
central



Hallo,
na ja der Aufruf ist wie oben beschrieben,

funktioniert jetzt auch nur bekomme ich beim besten Willen kein Handle.

das Label des Fensters ist

Code:
Everest Poker (Internetverbindung: Ausgezeichnet)



hmm gerade noch einmal getestet diesmal aber mit dem Rechner (SciCalc)
aber auch hier bekomme ich kein Handle.

Code:
-        hWndParent    0x00000000 {unused=??? }    HWND__ *



Gibt es auch noch eine andere Möglichkeit ein Handle zu erlangen zum Beispiel
über den Klassenamen ?

Oder mache ich noch was verkehrt und muss noch was includen ?

Gruß

central
--
no trouble no fun

Dieser Post wurde am 03.10.2007 um 06:24 Uhr von central 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: