Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » SendKeys

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 < [ 2 ]
000
21.05.2006, 21:21 Uhr
~NewCplus
Gast


Hallo!
Ich habe mich hier im Forum durchgelesen, da ich eine Funktion gesucht habe, die mir Strings in Textfelder einfügt. Schließlich kam ich auf die Funktion SendKeys. Ich durchsuche schon seit einer halben Stunde das Netz, finde jedoch nicht die Headerdatei für diese Funktion.
Vielen Dank schonmal für die wohl kurze Antwort
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
21.05.2006, 22:30 Uhr
FloSoft
Medialer Over-Flow
(Administrator)




das hat nix mit ansi zu tun, denke mal du willst WinAPI


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
22.05.2006, 04:38 Uhr
CppProgrammer



Damit sollte das ganze eigentlich auch gehn:

C++:
bool GetWindowText(HWND hWnd, char* &Text)
{
    if(hWnd)
    {
        int length = (int)::SendMessage(hWnd, WM_GETTEXTLENGTH, 0, 0);
        length++;
        Text = new char[length];
        ::SendMessage(hWnd, WM_GETTEXT, (WPARAM)(length), (LPARAM)Text);
        return true;
    }
    else
        return false;
}

bool SetWindowText(HWND hWnd, LPCTSTR Text)
{
    if(hWnd)
    {
        ::SendMessage(hWnd, WM_SETTEXT, 0, (LPARAM)(LPCTSTR)Text);
        return true;
    }
    else
        return false;
}

bool PostKeyToWindow(HWND hWnd, int KEY)
{
    if(hWnd)
    {
        ::PostMessage(hWnd, WM_KEYDOWN, KEY, 0);
        return true;
    }
    else
        return false;
}

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
22.05.2006, 06:24 Uhr
~NewCplus
Gast


Hallo,
vielen Dank schonmal für die Antwort - habe auch überall gelesen, dass sich SendMessage/PostMessage mehr lohnt. Vielen Dank, werde mich da mal nach Syntax und Funktionen umschauen!
Danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
22.05.2006, 14:47 Uhr
~NewCplus
Gast


Hallo nochmals,
ich habe nun lange gesucht, finde jedoch keine gescheite Hilfe zu der Funktion "SendMessage". Könntet ihr mir bitte kurz und knapp erläutern, welche Angaben man braucht, um beispielsweise Text in die fokussierte Anwendung (Editor) einzugeben? Bitte mit einem Beispiel!

Danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
22.05.2006, 15:16 Uhr
CppProgrammer



Also du brauchst ein Handle von dem Edit Feld, an das du etwas senden willst.

C++:
HWND hWnd1 = ::FindWindow("Notepad", NULL);
HWND hWnd2 = ::FindWindowEx(hWnd1, NULL, "Edit", NULL);
SetWindowText(hWnd2, "TEXXXXT"); // Das ist die Funktion die ich dir bereits gezeigt hab
// Jetz sollte eigentlich TEXXXXT im Textfeld vom Notepad Editor stehen


Das ganze geht eigentlich mit jedem beliebigen Feld. Du brauchst eben nur ein Handle darauf
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
22.05.2006, 16:41 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


und mit Spy++ kriegste die Fensternamen & Fensterklassennamen der Anwendungen
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
22.05.2006, 17:02 Uhr
~NewCplus
Gast


Hallo CppProgrammer,
leider hat dein Tipp mit SetWindowText nicht geholfen. Gäbe es ausser SetWindowText noch eine andere Möglichkeit?
Danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
22.05.2006, 17:48 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


kommt drauf an, wenn du input für directx spiele faken willst, geht das nicht
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
22.05.2006, 18:03 Uhr
~NewCplus
Gast


Hallo FloSoft,
nein, cheaten will ich nicht
Gut - ich habe jetzt durch eure Hilfe und ein paar Ergänzungen es ausprobiert und kann nun einen Text in den Windowhandle eingeben. [B]Vielen Dank[/B] Jetzt habe ich das Chatprogramm ICQ, den eingegeben Text und würde gerne die Buttontaste aktivieren. Source habe ich hier - nur wie aktiviere ich den blöden Button


Code:
wnd =  FindWindow("#32770", "Biohazard - Nachrichtensitzung");
    wnd =  FindWindowEx(wnd, 0, "Button", "&Senden");


Vielen Dank schonmal
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (WinAPI, Konsole) ]  


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: