Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: Wygaszacz pod VB
mikmas
From Łódź Stadt




Typ: neutral
Postów: 772
Zarejestrowany: Apr 2003
Wygaszacz pod VB

Zrobiłem se własny wygaszacz w VB. Za pomocą GetCursorPos Lib "user32" program czatuje, czy myszka poruszyła się czy nie i w czasie długiej (15 min.) bezczynności (myszki) włącza się mój - piękny - wygaszacz. Wszystko jest ok, puki se nie zagram w dosową grę (a nawet nie które wingry)! Wtedy nawet przy ruszaniu myszki wygaszacz się zachowywuje jak w czasie jej bezczynności


_____________________________________________
4C;65;70;69;65;6A;20;62;79;9C;20;73;69;EA;20;
62;61;72;64;7A;69;65;6A;20;73;6B;6F;6E;63;65;
6E;74;72;6F;77;61;B3;20;6E;61;20;6F;64;70;6F;
77;69;65;64;7A;69;2C;20;61;20;6E;69;65;20;6E;
61;20;72;6F;7A;73;7A;79;66;72;6F;77;79;77;61;
6E;69;75;20;3A;50

06-10-2004 18:22
Pokaż profil mikmas  Wyślij email do mikmas   Odwiedź stronę mikmas       3632553
losmac
"profesorek"




Typ: neutral
Postów: 758
Zarejestrowany: May 2003

Rozumiem, że dzieje się to wtedy, gdy grasz.

Chyba chodzi o to, że Twój wygaszacz nie staje się aktywnym oknem, stąd brak reakcji na ruchy myszki. Zaraz po uruchomieniu wygaszacza, czyń to okno aktywnym. Powinno pomóc.


_____________________________________________
POSTULATY STARUSZKA:
1) Ludzie, dbajcie o polszczyznę!!!
2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!!

Powodzenia
Maciej Łoś

06-10-2004 19:48
Pokaż profil losmac  Wyślij email do losmac   Odwiedź stronę losmac  
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

mikmas - a nie lepiej zrobić po prostu zwykły wygaszać i pozwolić, by Windows sie zajął wychwytywaniem ruchu myszki?


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

06-10-2004 20:00
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
mikmas
From Łódź Stadt




Typ: neutral
Postów: 772
Zarejestrowany: Apr 2003

Ale tu chodzi o to gdy wygaszacz jest ukryty i czeka na upłynięcie 15min bezczynności. No i jak gram se w grę, gdzie nawet mogę dużo ruszać myszką, to wygaszacz pokaże się i tak po 15min. Tak jakby GetCursorPos nie reagował w czasie grania w niektóre gry. Ja chcę, żeby nawet w grze dosowej wygaszacz nie pokazywał się jak myszka się rusza.


_____________________________________________
4C;65;70;69;65;6A;20;62;79;9C;20;73;69;EA;20;
62;61;72;64;7A;69;65;6A;20;73;6B;6F;6E;63;65;
6E;74;72;6F;77;61;B3;20;6E;61;20;6F;64;70;6F;
77;69;65;64;7A;69;2C;20;61;20;6E;69;65;20;6E;
61;20;72;6F;7A;73;7A;79;66;72;6F;77;79;77;61;
6E;69;75;20;3A;50

06-10-2004 20:01
Pokaż profil mikmas  Wyślij email do mikmas   Odwiedź stronę mikmas       3632553
losmac
"profesorek"




Typ: neutral
Postów: 758
Zarejestrowany: May 2003

To właśnie Ci tłumaczę. GetCursorPos działa w aktywnym oknie. Skoro Twoje okno nie jest aktywne, to czego się spodziewasz?

Sprawdź, jaką wartość zwraca ta funkcja, a się przekonasz, że zwraca zero!

Pobierz aktywne okno i sprawdż aktywność myszy.

[Post edytowany dnia 06-10-2004 21:18 przez losmac]


_____________________________________________
POSTULATY STARUSZKA:
1) Ludzie, dbajcie o polszczyznę!!!
2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!!

Powodzenia
Maciej Łoś

06-10-2004 21:14
Pokaż profil losmac  Wyślij email do losmac   Odwiedź stronę losmac  
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

mikmas - to zrób zwykły wygaszacz. Wtedy o myszkę będzie się troszczył windows.


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

06-10-2004 21:51
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
bisiek




Typ: neutral
Postów: 487
Zarejestrowany: Jul 2003

Wg. mnie problemem jestnie to że okno jest nieaktywne. Nie mam z tym problemów - wykrywanie pozycji myszy działa, ale to wygłąda tak jakby gra lub tryb ms-dos jakby "blokował" mysz.


_____________________________________________
www.mob.abc.pl - moja strona o VB

06-10-2004 21:51
Pokaż profil bisiek  Wyślij email do bisiek   Odwiedź stronę bisiek       3380672
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

Nie blokuje, tylko przechwytuje po prostu całkowicie wszystko od myszy - windows tego nie dostaje,a  tym samym twoja aplikacja. Ale czemu sie uparłeś tak na to, żeby samemu mierzyć czas?


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

06-10-2004 21:54
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
mikmas
From Łódź Stadt




Typ: neutral
Postów: 772
Zarejestrowany: Apr 2003

No i właśnie mówię! Jeżeli prog jest windowsowy to działa wszystko ok! Dlaczego uparłem się na VB? Bo nie wiem, jak zrobić własny win-wygaszacz


_____________________________________________
4C;65;70;69;65;6A;20;62;79;9C;20;73;69;EA;20;
62;61;72;64;7A;69;65;6A;20;73;6B;6F;6E;63;65;
6E;74;72;6F;77;61;B3;20;6E;61;20;6F;64;70;6F;
77;69;65;64;7A;69;2C;20;61;20;6E;69;65;20;6E;
61;20;72;6F;7A;73;7A;79;66;72;6F;77;79;77;61;
6E;69;75;20;3A;50

06-10-2004 23:39
Pokaż profil mikmas  Wyślij email do mikmas   Odwiedź stronę mikmas       3632553
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

No to wystarczyło zadać pytanie .
Wygaszacz ekranu to taki sam program jak każdy inny.
Różnica jest jedynie w rozszerzeniu pliku - .scr .
Poza tym wygaszacz ma kilka standardowych wartości parametrów:
/s - windows uruchamia wygaszacz ekranu - czyli jeśli parametr jest /s to robisz to, co tam ten twój wygaszacz ma robić.
/p - program jest uruchamiany do podglądu (chodzi o ten ekrani na zakładce "Wygaszacz Ekranu"
/c - Wnidows rząda okna konfiguracyjnego.

Żeby wygaszacz pełnił swoją funkcję, wymagana jest obsługa parametru /s.

Tutaj jest dokłądniejszy opis argumentów podawanych aplikacji:
/s - parametr jest podawany, jeśli Windows uruchamia wygaszacz w normalnym trybie.
/c - parametr jest podawany, jeśli użytkownik kliknie na przycisk "ustawienia" na zakładce "Wygaszacz ekranu". Po spacji jest podawany uchwyt do okna tej zakładki.
/p - parametr jest podawany za każdym razem, gdy podgląd wygaszacza ma być wyświetlony na tym ekraniku (tam, gdzie wygaszacze pokazują jak wyglądają). Po spacji poadawany jest uchwyt do okna, po krótym możesz sobie rysować (czyli do tego ekraniku).
Ponadto może się zdażyć, że program zostanie wywołany bez parametru - oznacza to, że użytkownik kliknął na "Konfiguruj" w  menu kontekstowym pliku i należy wyświetlić okno konfiguracji.

Dobrze jest też przy uruchomieniu sprawdzić, czy App.PrevInstance = True. Jeśli tak, to inna instancja wygaszacza już chodzi i należy tą zamknąć.


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

07-10-2004 11:05
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
mikmas
From Łódź Stadt




Typ: neutral
Postów: 772
Zarejestrowany: Apr 2003

1)Jak obsłużyć parametry?
2)Po co mi uchwyt okna zakładki /c? Nie wystarczy, że w momencie, gdy dostanę taki parametr, to prog wyświetli okno konfiguracyjne?
3)Co to app.previnstance?


_____________________________________________
4C;65;70;69;65;6A;20;62;79;9C;20;73;69;EA;20;
62;61;72;64;7A;69;65;6A;20;73;6B;6F;6E;63;65;
6E;74;72;6F;77;61;B3;20;6E;61;20;6F;64;70;6F;
77;69;65;64;7A;69;2C;20;61;20;6E;69;65;20;6E;
61;20;72;6F;7A;73;7A;79;66;72;6F;77;79;77;61;
6E;69;75;20;3A;50

07-10-2004 15:09
Pokaż profil mikmas  Wyślij email do mikmas   Odwiedź stronę mikmas       3632553
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

1) Pobierasz je funkcją Command
2) Owszem, to wystarczy. Ale chłopcy z małego-miękkiego mają trochę oleju w głowie i pomyśleli o tym, że może komuś będzie to jednak potrzebne.
3) App.PrevInstance podaje, czy jest uż uruchomiona inna instancja twojego programu. Tutaj używamy po to, żeby np. nie uruchomić wygaszacza 2-krotnie (bo po co?).


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

07-10-2004 16:18
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
Wszystkich odpowiedzi: 11 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1