Ostatnio nie miałem czasu, aby odpisać, ale jest jeden sposób.
Funkcja SendMessage() służy do wysyłania polecenia do całego okna, ale jeślij chcesz np. wybrać w okienku przycisk TAK musisz wybrać funkcję SendDlgItemMessage();, ale przedtem musisz mieć uchwyt do konkretnego okna w HWND, jeśli masz to :
SendDlgItemMessage(okno, IDYES, WM_LBUTTONDOWN,0,0);
SendDlgItemMessage(okno, IDYES, WM_LBUTTONUP,0,0);
Parametry:
okno - uchwyt okna(HWND);
IDYES - info o kontrolce(np. IDNO, IDCANCEL itp)
WM_LBUTTONDOWN - co ma zrobić z kontrolką
reszta po 0
Tutaj muszą być wysłane dwie komendy: WM_LBUTTONDOWN i
WM_LBUTTONUP, aby program wiedział, że przycisk został naciśnięty.
Ale jest jeszcze jeden problem, jeżeli przycisk np. IDYES jest domyślnym przyciskiem, akcję z naciśnięciem przycisku musi zostać wywołana dwa razy:
//dwa razy, aby zadziałało!
SendDlgItemMessage(okno, IDYES, WM_LBUTTONDOWN,0,0);
SendDlgItemMessage(okno, IDYES, WM_LBUTTONUP,0,0);
SendDlgItemMessage(okno, IDYES, WM_LBUTTONDOWN,0,0);
SendDlgItemMessage(okno, IDYES, WM_LBUTTONUP,0,0);
Przykład programu:
HWND okno = FindWindow(0,"Notatnik");
SendDlgItemMessage(okno, IDYES, WM_LBUTTONDOWN,0,0);
SendDlgItemMessage(okno, IDYES, WM_LBUTTONUP,0,0);
SendDlgItemMessage(okno, IDYES, WM_LBUTTONDOWN,0,0);
SendDlgItemMessage(okno, IDYES, WM_LBUTTONUP,0,0);
//niby krótke kawałki, ale wziąłem w tagi - R