Skocz do zawartości
MeHow

[winapi] Komunikaty Windows

Rekomendowane odpowiedzi

Witam. Mam do napisania dosyc ciekawa gre, otoz zalozenia sa bardzo proste.

 

Obszar, w którym odbywa się gra reprezentowany jest przez 2 niezależne aplikacje, z których każda odpowiada za jedną z połówek obszaru. Każdy gracz steruje jedną z aplikacji. Komunikacja pomiędzy aplikacjami zrealizowana za pomocą komunikatów Windows.

 

Jest to wycinek mojego polecenia, mysle, ze sobie z tym poradze, tylko powiedzcie mi prosze, jak to jest z ta komunikacja za pomoca komunikatow Windows, szczerze mowiac nie za bardzo wiem jak to rozwiazac. Domyslam sie, ze nalezy zrobic to w jakis magiczny sposob, aby jedna uruchomiona aplikacja odpalala druga i potem w jakis magiczny sposob komunikuja sie ze soba. Ot wszystko.

 

Dzieki za odpowiedzi

 

Do moderatorow - nie prosze tutaj o rozwiazanie mojego zadania, a jedynie o wskazowki ew. linki.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

hm, sposób nie jest magiczny :) Poszukaj informacji na temat funkcji systemowej POSTMESSAGE(). Jak to działa... Najpierw trzeba sobie zdać sprawę jak działa każda aplikacja w windowsach. Każda, a przynajmniej zdecydowana większość ma tzw pętlę komunikatów, w której program odbiera komunikaty od systemu windows. Komunikat ten to może być np klikniecie myszką w jakiś obszar okna, resajz okna, najechanie myszką nad okno etc...

 

No i teraz, Twoja aplikacja którą mają sterować inne aplikacje użytkowników ma taka pętlę i powiedzmy że potrafi reagować na np naciśnięcie myszki w jakimś miejscu. Więc możliwości aby aplikacja zareagowała na to zdarzenie są dwie, albo najedziesz myszką i klikniesz ten przycisk przykładowo albo wyślesz do windowsa komunikat za pomocą POSTMESSAGE() który wśród parametrów zawiera uchwyt do okna w które chcesz kliknąć ( w szczególności do przycisku), wiadomości jaką należy przesłać (dla klikniecia myszką WM_MOUSE_CLICK lub coś podobnego) oraz ewentualne dodatkowe parametry (np współrzędne kliknięcia).

 

Wtedy komunikat ten dotrze do tej aplikacji i aplikacja ta wykona jakieś zadanie tak jakbyś nacisnął ten przycisk myszką.

 

Jest oczywiście możliwość definiowania własnych masagów w aplikacji. Kiedyś bawiłem się w taki sposób i np sterowałem winampem z innej aplikacji, poprzez wysyłanie komunikatów do winampa że naciśnięto przycisk play czy next.

 

Nie wiem czy Ci to jakoś pomogło, bo może to już wiedziałeś :)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...