CWnd::GetDlgCtrlID
-
Hallo
Ich möchte in einem externen Dialog einen(zwei) Button drücken.
Hab mal ein bischen probiert und bin soweit gekommen:CWnd* pButton1; CWnd* pButton2; int button1id; int button2id; pButton1=m_pCWnd->FindWindow(0,"hier der Button1 Titel"); pButton2=m_pCWnd->FindWindow(0,"hier der Button2 Titel"); button1id=pButton1->GetDlgCtrlID(); button2id=pButton2->GetDlgCtrlID(); pButton1->SendDlgItemMessage(button1id,WM_LBUTTONDOWN); pButton2->SendDlgItemMessage(button2id,WM_LBUTTONDOWN);
allerdings stürzt mein programm ab button1id=pButton1->GetDlgCtrlID(); ab.
Schon mal Danke für die Hilfe
-
Hi,
und pButton1 ist gultig ?! Es ist nicht NULL ?!
Fredy
-
This function does not search child windows.
Steht so in der MSDN. Ich denke mal, dein Zeiger ist NULL.
-
Mein Fenster ist nicht Parent von dem anderen und trozdem ist pButton NULL.
(mit MsgBox getestet)
Was mach ich denn falsch?
-
Doch - der Button ist ein Kind"fenster" deines Hauptfensters. Gibt es nicht die Funktion "GetDlgItem()", mit der man nach Dialog-Bestandteilen suchen kann?
-
Nein falsch verstanden.
m_pCWnd ist nicht ein Fenster von mir sondern von einer anderen Anwendung.
In dieser möchte ich mit Send-/PostMessage einen Button drücken.
-
qasdfgh schrieb:
Was mach ich denn falsch?
Du musst "FindWindowEx" verwenden... das sucht auch Child-Windows...
-
qasdfgh schrieb:
Nein falsch verstanden.
m_pCWnd ist nicht ein Fenster von mir sondern von einer anderen Anwendung.
In dieser möchte ich mit Send-/PostMessage einen Button drücken.Das geht nicht so einfach und muss meiner Meinung nach mit Hooks gelöst werden.
-
Also mit FindWindowEx ist pButton auch NULL.
Hat einer von euch ein paar Links zum Thema Hooks?
Währe sehr nett
-