ďťż

Ładny brzuch

Mam pytanko jakie komunikaty można wysłać aby windows myślał że pracuje na kompie?

Konkretnie chodzi mi o to że jak odtwarzam film w moim programie to pomimo przechwytywania komunikatów o wyłączaniu się monitora, on się wyłącza.
Przy testowaniu różnych funkcji ustawiałem we właściwościach zasilania WYŁĄCZ KOMPUTER po 1 minucie, program przechwytuje kilka komunikatów i wysyla wartość -1. Ku mojemu zdziwieniu monitor wyłącza się za ok 20min.
Jedynym sposobem jaki działał było wysyłanie komunikatu który imitował kliknięcie myszką, jednak było to trochę drażniące, bo po kliknięciu ma pauzować :(

Może jakieś propozycje???

Aha ostatnio próbowałem nawet SendMessage(Form1.hwnd, WM_SYSCOMMAND, SC_MONITORPOWER, 1) wysyłać co sek i nic...
Użytkownik pawelt88 edytował ten post 28 sierpień 2007, 14:31


A wysylanie komunikatu o ruchu myszka lub nacisnieciu klawisza?

Komunikat o ruchu myszką odpada ponieważ w odtwarzaniu pełnoekranowym po poruszeniu myszką pojawia się panel. Natomiast wciśnięcie klawisza nie działa.
Moim zdaniem działa po prostu funkcja monitora o oszczędzaniu energii. co mozna zrobić zeby monitor sie nie wylaczal? Wie ktos moze jak jest to rozwiazane w innych odtwarzaczach???

Powiem Ci jak playerokoder playerokoderowi ;)
Z tym sa niezle jaja.

Na 4p byl sposob na wylaczenie wygaszacza, nie wiem ktory, ale chyba vplayer czy bestplayer z tego korzystal. Nawet to dziala, ale jak sie program zwiesi i go na sile zamkniesz to wedy nie masz wygaszacza az ponownie nie uruchomisz i nie zamkniesz playera.
Ten sposob po prostu wylacza wygaszacz, doslownie wylacza bo po starcie programu masz we wlasciwosciach ekranu 'Brak' w polu wygaszacza (jezeli dobrze pamietam).
Ale podobno nieraz to nie dziala poprawnie.

Z tymi komunikatami to tez raz przechodzi a raz nie. Przejzyj zrodelka dspacka - tam jest kod oparty wlasnie na tym.

Jak nie ruch mysza, nie klikniecie to moze symulacja jakiegos klawisza? Jakiegos ktorego nie uzywasz. I po sprawie.
Użytkownik wojewoda edytował ten post 31 sierpień 2007, 07:56


Chodzi o wyłączanie wygaszacza w rejestrze?
Jeżeli nie znajdę nic innego spróbuje tego.

Do obsługi komunikatów okna dodajesz obsługę komunikatu: WM_SYSCOMMAND wraz z jego wParam'em równym SC_SCREENSAVE. Kiedy komunikat obsłużysz, zwracasz wartość np. TRUE. Ten sposób powinien zlikwidować wygaszacz.
Możesz także spróbować uzyć:
PostMessage(HWND_BROADCAST, WS_SYSCOMMAND, SC_SCREENSAVE, 0L);
albo SetCursorPos(1, 1);
Użytkownik deemon edytował ten post 31 sierpień 2007, 21:38

Chodzi o wyłączanie wygaszacza w rejestrze?
Jeżeli nie znajdę nic innego spróbuje tego.
No prawie, ale ja mowilem o tym: http://4programmers...._ekranu_na_brak

PS.
Jakbys chcial sie wymienic doswiadczeniami to pisz na pw ;)
Użytkownik wojewoda edytował ten post 01 wrzesień 2007, 13:43
Fajny link, ale byłby lepszy gdyby działał :)
Ale chyba wiem o czym mówisz. Jak masz przykład z tym wyła wygaszacza na kompie to plz przyślij na pawelt88@gmail.com.

Thx
Jak by coś to będę pisał na prv.


Fajny link, ale byłby lepszy gdyby działał :)
Ale chyba wiem o czym mówisz. Jak masz przykład z tym wyła wygaszacza na kompie to plz przyślij na pawelt88@gmail.com.

Thx
Jak by coś to będę pisał na prv.

Działa. Jak nie to poczekaj trochę i zadziała ;).

Tylko że wygaszacz już obsłużyłem, a monitor mi się wyłącza ( przechodzi w stan czuwania)
Użytkownik pawelt88 edytował ten post 01 wrzesień 2007, 15:58
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •