 |  | Einem Button eine Message schicken |
|  |
Verfasst am: 28.11.2006 19:04 |
|
|
Lukas |
|
|
 |
Anmeldedatum: 31.12.2005 |
Beiträge: 257 |
Wohnort: Wien |
|
|
 |
 |
 |
|
Hallo!
Ich schreibe gerade an einem Programm, dass den MSN-Messenger beim Aufrufen des Anmelde-Fensters, autostartet, sprich die Anmelden-Taste drückt.
Ich habe also sämtliche Handles ermittelt und wollte dem Button eine Message senden; das hat leider nicht geklappt.
Der Code hatte vorher schon einige Probleme die ich aber alle behoben habe, weiss aber nicht ob er jetzt 100%ig richtig ist.
Laut TEST-Ausgabe findet er den Button, (leider tut er das aber bei jedem 4ten Paramater beim letzten FindWindowEx-Aufruf)
Hier mal der Source, wär toll wenn ihr mir helfen könntet.
Code: | #include <windows.h>
int WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
MessageBox(NULL, (LPSTR) "Der OK-Button-Klicker für MSN-Messanger ist aktiviert!", (LPSTR) "OK-Button-Klicker", MB_OK | MB_ICONINFORMATION);
HWND hWndMessanger = NULL;
while (hWndMessanger == NULL)
{
hWndMessanger = FindWindow( (LPSTR) "MSBLWindowClass", (LPSTR) "Windows Live Messenger");
if (hWndMessanger == NULL)
Sleep(100);
}
MessageBox(NULL, (LPSTR) "FENSTER", (LPSTR) "OK-Button-Klicker", MB_OK | MB_ICONINFORMATION);
HWND hWndDirectUI = FindWindowEx(hWndMessanger, NULL, (LPSTR) "DirectUIHWND", NULL);
if (hWndDirectUI == NULL)
return 0;
else
MessageBox(NULL, (LPSTR) "CHILDFENSTER", (LPSTR) "OK-Button-Klicker", MB_OK | MB_ICONINFORMATION);
HWND hWndButton;
for (;hWndButton==NULL;){
hWndButton = FindWindowEx(hWndDirectUI, NULL, NULL, TEXT ("&Anmelden"));
}
if (hWndButton !=NULL)
MessageBox(NULL, (LPSTR) "BUTTON", (LPSTR) "OK-Button-Klicker", MB_OK | MB_ICONINFORMATION);
SendMessage(hWndButton, WM_LBUTTONDOWN, 0, 0);
SendMessage(hWndButton, WM_LBUTTONUP, 0, 0);
return 0;
}
|
MFG
EDIT:
Hab den Post auch schon woanders gepostet nur konnte man mir da leider auch nicht so wirklich helfen.
Hmmm kennt ihr Programme mit denen ich den Handle ermitteln kann?
Gibts ja zu Hauf für Fenster nur leider ned für Buttons.
Wenn ich den Teil ned einbauen kann dann kann ich mein Projekt vergessen deswegen helfts ma bitte. |
|
|
|
|
 | |  |
Verfasst am: 29.11.2006 16:36 |
|
|
Lukas |
|
|
 |
Anmeldedatum: 31.12.2005 |
Beiträge: 257 |
Wohnort: Wien |
|
|
 |
 |
 |
|
K is egal, hab die Lösung schon, danke. |
|
|
|
|
Verfasst am: 29.11.2006 17:21 |
|
|
Cerox |
|
 |
 |
Anmeldedatum: 31.12.2005 |
Beiträge: 782 |
Wohnort: Engelskirchen |
|
|
 |
 |
 |
|
Wie wäre es dann die Lösung kurz zu erläutern, falls jemand mal ein ähnliches Problem haben sollte? |
|
|
|
|
Verfasst am: 29.11.2006 17:24 |
|
|
Lukas |
|
|
 |
Anmeldedatum: 31.12.2005 |
Beiträge: 257 |
Wohnort: Wien |
|
|
 |
 |
 |
|
Ok, das Problem war, dass das gar kein Button in dem Sinne war sondern mit WM_PAINT gezeichnet wurde.
Lösung:
Mit GetWindowRect()
Fensterkooridinaten ermitteln und daraus die Buttonkoordinaten ermitteln.
Dort dann einen Mausklick simulieren(virtueller Mausklick)
Lg |
|
|
|
|
Foren-Übersicht » Programmierung |
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1
|
|
|
|