Program dzialajacy jak wygaszacz ekranu...

0

Napisalem program ochronny dla mojego komputera... dziala bardzo dobrze gdy sie go wlaczy... a w jaki sposob mozna zrobic, aby np po odejsciu od komputera po beczynnej minucie wlaczyl sie ten program i dzialal podczas tej chwilowej nieobecnosci ? nie ma sie chowac po ruszeniu myszka... wystarczy aby sie wlaczyl gdy przestanie sie pracowac...

Dzieki za odpowiedz [browar]

0

moj pomysl tylko taki, ze w tle dziala caly czas inny porgram posaidajacy ttimer i globalnego hooka ;p, jesli nie jest wykonywany zaden ruch myszka lub stukniecie klawaitury, to timer dziala z licznikiem jakims, jesli hook wkryje jakis ruch uzytkownika, to zeruje licznik, a jak licznik dojdzie do okreslonego poziomu to uruchamiasz program ochronny ;p

0

Globalnego hooka na klawiature mam... timer mam... brakuje mi tylko globalnego hooka na mysz... nie wiem gdzie tego szukac... tutaj na forum jest tylko + plik DLL... a potrzebuje bez zadnych dodatkow... moze ktos pomoc ?

a tak w ogóle to mozna gdzies pomieszac w rejestrze, aby zamiast jakiegos tam wygaszacza windows uruchamial program ?

0

keyspy czy cos takiego jet w komponentach do popbrania

0

keyspy dziala na klawisze... a ja potrzebuje na myszke... poniewaz klawiature juz opanowalem...

jest jakies wyjscie ?

0

Napisz własnego "screen savera" i w windzie ustaw ten scr na aktualny. Winda będzie odpalać Twój program i po kłopocie.

0

z tym screen saver'em jednak bedzie duzo zachodu... bardziej odpowiadaj drugi program, ktory prawie zrobilem, tylko nie moge znaleŹĆ sposobu na czytanie ruchu myszki bez dodatkowych plikow...

0

na wykrycie aktywnosci nie trzeba zadnego hooka. jest na to gotowa funkcja zwracajaca czas, jak dawno nie bylo zadnej aktywnosci ze strony uzytkownika... nie pamietam tyylko jak sie nazywala... ale poszukaj.

0

a nie możesz ustawić hasła na scr?

0

nie moge... potrzebuje tylko odczytac w jakis sposob ruchy myszki, albo ich brak... i tyle...

0

ale Adam ci dobrze raczej radzi, wystarczy tylko zmienić rozszerzenie na scr i dodać żeby w podglądzie (na parametr jakiś tam) nie włączał się program tylko nic nie robił albo pokazywał miniaturkę, wywalić funkcje odczytujące ruchy myszy i sygnałów klawiatury a zostawić tylko część blokującą i tyle

druga opcja, to że kiedyś miałem źródło programu w delphi który miał być do kafejek Internetowych i blokować dostęp do komputera po jakimś czasie. Od tamtej pory pewnie źródeł tego typu programów w necie jest więcej a możnaby coś podejrzeć ...

a po trzecie to już ci ktoś wyżej odpowiedział - nie musisz przechwytywać klawiatury i myszy, tylko poszukaj tej funkcji (bo jest taka) która podaje czas bezczynności - z tymi hookami to jest dużo problemów i żeby to działało jak należy to trochę się trzeba napisać, poza tym robić coś na komputerze można chyba też za pomocą innych urządzeń niż mysz i klawiatura ...
wyszukiwarka w tym serwisie jest troszkę oporna (bo jest to chyba nawet w faq) ale w google byłyby >>dwie sekundy<<

0

daj to w timer i jestli
liczba<60*1000 (minuta) to blokuj.

function milisekund_od_ostatniej_aktywnosci:Integer;
var
  LInput: TLastInputInfo;
begin
  LInput.cbSize := SizeOf(TLastInputInfo);
  GetLastInputInfo(LInput);
Result:=GetTickCount-LInput.dwTime;
end;
0

dziala ! dzieki za strone

function SecondsIdle: DWord;
var
   liInfo: TLastInputInfo;
begin
   liInfo.cbSize := SizeOf(TLastInputInfo) ;
   GetLastInputInfo(liInfo) ;
   Result := (GetTickCount - liInfo.dwTime) DIV 1000;
end;

procedure TForm1.Timer1Timer(Sender: TObject) ;
begin
   Caption := Format('System IDLE last %d seconds', [SecondsIdle]) ;
end;

mam jeszcze pytanie dlaczego programik z ta funkcja po odpaleniu daje 100% uzycia procesora ? przeciez tutaj nie ma nic takiego...

0

ojjj to nie ta funkcja... sprawdzilem i odpowiedzialne za te 100% uzycia procesora jest ukrycie programu, aby dzialal w tle...

Application.Initialize;

   Ex:=GetWindowLong(Application.Handle, GWL_EXSTYLE);
  SetWindowLong(Application.Handle,GWL_EXSTYLE,
  Ex or WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW);

  Application.CreateForm(TForm1, Form1);
  Application.Run;

dlaczego tak jest ? moze jest jakis inny sposob, aby program dzialal w tle ?

0

ok poradzilem sobie... zamiast tamtego dalem

Application.ShowMainForm:=false;

i smiga...

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