Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » keys/strings an ein window senden

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
15.01.2005, 17:35 Uhr
Diablo



guten abend!
gleich mal im vorraus; ich war der nighthawk und hab ich jetzt mal angemeldet, weil ihr mir immer sehr schnell und gut geholfen habt!

ich hätte da ein paar probleme mit diesem code hier:


C++:
#include <windows.h>

HWND np = FindWindow("notepad",0);

void SendMessageButtonPress(int vk)
{
   SendMessage(np,WM_KEYDOWN,vk,0);
   SendMessage(np,WM_CHAR,vk,0);
   SendMessage(np,WM_KEYUP,vk,0);
}

void SendMessageString(char string[])
{
   for(int i = 0;string[i] != NULL;i++)
   {
      SendMessage(np,WM_KEYDOWN,string[i],0);
      SendMessage(np,WM_CHAR,string[i],0);
      SendMessage(np,WM_KEYUP,string[i],0);
   }
}
int main()
{
    ShellExecute(0,"open","NOTEPAD","pfadangabe",0,SW_HIDE);
    Sleep(2000);
    SendMessageButtonPress(VK_SPACE);
    SendMessageString("buha");
    SendMessage(np,WM_KEYDOWN,VK_CTRL,0);
    SendMessage(np,WM_KEYDOWN,0x53,0);
    SendMessage(np,WM_KEYUP,VK_CONTROL,0);
    SendMessage(np,WM_KEYUP,0x53,0);
    ShowWindow("notepad",WM_CLOSE);
return 0;
}



diese programm sollte das notepad öffnen, " buha" reinschreiben, speichern und es wieder schliesen.
hättet ihr eine idee warum es die keys nicht sendet??
compiling errors gibts keine!

Dieser Post wurde am 15.01.2005 um 17:36 Uhr von Diablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
16.01.2005, 10:48 Uhr
Oliver
S2-Pixelgeneral


Vielleicht musst du das Programm zuerst ausführen und dann das Window suchen:


C++:
#include <windows.h>

HWND np ;

void SendMessageButtonPress(int vk)
{
   SendMessage(np,WM_KEYDOWN,vk,0);
   SendMessage(np,WM_CHAR,vk,0);
   SendMessage(np,WM_KEYUP,vk,0);
}

void SendMessageString(char string[])
{
   for(int i = 0;string[i] != NULL;i++)
   {
      SendMessage(np,WM_KEYDOWN,string[i],0);
      SendMessage(np,WM_CHAR,string[i],0);
      SendMessage(np,WM_KEYUP,string[i],0);
   }
}
int main()
{
    ShellExecute(0,"open","NOTEPAD","pfadangabe",0,SW_HIDE);
    np = FindWindow("notepad",0);
    Sleep(2000);
    SendMessageButtonPress(VK_SPACE);
    SendMessageString("buha");
    SendMessage(np,WM_KEYDOWN,VK_CTRL,0);
    SendMessage(np,WM_KEYDOWN,0x53,0);
    SendMessage(np,WM_KEYUP,VK_CONTROL,0);
    SendMessage(np,WM_KEYUP,0x53,0);
    ShowWindow("notepad",WM_CLOSE);
return 0;
}


(ungetestet)
--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )

Dieser Post wurde am 16.01.2005 um 10:49 Uhr von Oliver editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
16.01.2005, 12:27 Uhr
Diablo



nette idee, klappt aber leider nicht
mir kam da so der gedanke, ob ich vll anstatt console windows nehmen sollte??
hab da schon was probiert, aba das war KATASTROPHAL
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
16.01.2005, 14:13 Uhr
RedEagle




C++:
//Änder mal:
ShellExecute(0,"open","NOTEPAD","pfadangabe",0,SW_HIDE);

//in
ShellExecute(0,"open","NOTEPAD","c:\xyz.txt",0,SW_HIDE);



evtl hilft das
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
16.01.2005, 14:15 Uhr
Oliver
S2-Pixelgeneral


Liegt wahrscheinlich daran, dass Notepad lediglich ein Editfeld steuert. Vielleicht solltest du das Editfeld noch suchen und dann dort die Nachrichten hinschicken oder am besten dann mit SetWindowText .... direkt einstellen.
--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
16.01.2005, 14:33 Uhr
Diablo



das editfeld is hiermit angesteuert;

C++:
ShellExecute(0,"open","NOTEPAD",0,0,SW_SHOWMAXIMIZED);
    np = FindWindow("edit",0);
    Sleep(2000);
    SendMessageButtonPress(VK_SPACE);
    SendMessageButtonPress(0x72);
    SendMessageString("buha");


geht aber trotzdem nicht!

ich guck mal in der msn nach setwindowtext! hab nur momentan keine zeit dafür!
schonmal danke bis dahin
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ 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: