Klikanie w button innej aplikacji...

0

Powiedzmy, że mam aplikacje, która wyświetla komunikat i tam jest buttonik OK.
Chce z poziomu mojego programu go kliknąć.
Jak to zrobić?

Wiem, że gdzieś to było, ale szukałem (przez 5 min ;-) ) wszędzie i nie znalazłem.

Proszę o (szybką) pomoc!!

0

mouse_event + F1

Można spróbować też przy pomocy SendMessage i WM_CLICK.

[dopisano]
Marooned. To było dla zmyłki. [diabel] :-D
Tak na serio to skleroza mnie bierze.

0

WM_CLICK

Nie ma takiego komunikatu. Chodziło Ci raczej o WM_COMMAND.

0

Dużo mi to nie mówi!!

Jeśli można to proszę dokładniej :p

A i jeszcze coś (ja zawsze o czymś zapomnę), nie wiem w którym miejscu pojawia się ten komunikacik.

Plis help mi!

0

przeczytaj sobie art o komunikatach. chodzi o to zeby wyslac do przycisku komunikat odpowiadający za naciśnięćie. kiedyś pisałem kod na forum, poszukaj.

0

nie wiem w którym miejscu pojawia się ten komunikacik

Pojawia?? Ty go musisz wysłać!

Ale wprowadzę małą korektę. Otóż komunikat WM_COMMAND zostaje wysyłany przez guzik (no, nie dosłownie) do okna nadrzędnego z danymi pozwalającymi zidentyfikować go rodzicowi. Te dane nie zawsze jest łatwo uzyskać.

W związku z powyższym proponuje inne rozwiązanie (sprawdzone).
Funkcją FindWindow, a potem EnumChildWindows znajdujesz okno klasy BUTTON, które Cię interesuje i wysyłasz do niego dwa następujące komunikaty.

WM_LBUTTONDOWN oraz WM_LBUTTONUP. W helpie masz opis wartości wParam oraz lParam.
Na pewno sobie poradzisz.

0

Qrde nie mogę nic zrobić, ale dobra inny sposób:
Jak odczytać pozycję komunikatu (tego z OK )??

Jak to będę miał to jakoś sobie poradzę (chyba);

//Nie tworzę nowego postu, bo Ty powinieneś ten usunąć bądź zmodyfikwoać. Co to jest pozycja komunikatu?? Nigdy nie słyszałem o czymś takim. - Marooned

Powiedzmy, że to nie jest komunikat, ale zwykłe okienko np. Word'a i jak odczytać pozycję tego okna. Rozumiesz?

0

Powiedzmy, że to nie jest komunikat, ale zwykłe okienko np. Word'a i jak odczytać pozycję tego okna. Rozumiesz?

Teraz rozumiem. Następnym razem pisz precyzyjniej. Pytałeś o komunikat, czyli 32 bitową liczbę całkowitą. A jeśli chodziło Ci np. o okienko typu: "Czy kasować ten plik? [Tak] [Nie]" to nie powinieneś pisać 'komunikat' a raczej 'modalne okno dialogowe'. Wtedy każdy wiedziałby o co pytasz.

Ale dosyć kazania. Przejdźmy do konkretów (czy to przypadkiem nie było hasło reklamowe jakiejś kampanii prezydenckiej? ;-)).

Wystarczyło użyć helpa przez ok. 7 sekund aby znaleźć odpowiedź.
FindWindow oraz GetWindowRect

0

Wystarczyło użyć helpa przez ok. 7 sekund aby znaleźć odpowiedź.

Nie zgodze się!!!!
Jeszcze nigdy niczego nie szukałem tak dokładnie!!
Łącznie szukałem (na tej stronie, w helpie) ok. 2 godzin!!

/To jak Ty szukasz? Metodą prób i błędów, czy po omacku? Nie ściemniałem z tym czasem - Marooned/
[b]Może nie umiem szukać?
Nie kłóćmy się.
JESZCZE RAZ DZIĘKI ZA POMOC!![/b]

Dobra koniec [krzyk].
Dzięki za pomoc.

A i jeszcze coś:
Odpowiedź na to pytanie znalazłem w FAQ [zawstydzony] [zawstydzony] [zawstydzony] [zawstydzony] [zawstydzony]

1 użytkowników online, w tym zalogowanych: 0, gości: 1