Chce ochronic program zeby nie mozna bylo go wyloczyc, chyba musze zrobic Dll ktory co jakis czas bedzie sprawdzal czy moj program jest wlaczony czy nie, jezeli nie to go wlaczyc [???]
Moze macie jakies pomysly?? [hurra]
W zdarzeniu onCloseQuerry dla formy wpisz canclose:=False;
Ale nie ustrzezesz sie przed zniszczeniem procesu, czyli po nacisnieciu ctr+alt+del bedzie mozna twoj program wyrzucic. No chyba ze ktos nie bedzie wiedzial ze on dziala i jak nadasz mu odpowiednia nazwe, ukryjesz forme itd.
p.s. Wirusik albo trojanik sie szykuje?
[browar]
Odpowiem szybko zanim zablokuja temat bo widze ze sie trojan szukuje :) Wiec tak jak arturfir powiedział napisz: "canclose:=False;" a nastepnie ukryj proces z listy pokazujacej sie po nacisnieciu ctrl+alt+del. A jak ukryć proces masz napisane na 4p chyba w faqu ...
i zostaje jeszcze błacha sprawa, czyli co gdy już nam go wyłączą ?!
Uruchomić go ponownie! (bez żadnych ddl'i)
w form.onClose wpisujemy :
[code]winexec(pchar(paramstr(0)),0);[/code]
i programik sam nam się uruchomi po jego zamknięciu :)
Ukrywanie programu na liście ctrl+alt+del to nie jest pewny sposób - NortonSystemInfo jest w stanie wykryć nawet tak ukryty proces i go zatrzymać.
Po pierwsze w XP nie mozna ukryc procesu! A ja i robie to dla XP ;-)
Po drugie NIE JEST TO TROJAN [niewinnosc].
Po trzecie nie wyjdzie zrobic CanClose:=false przy OnCloseQuery, lub uruchomic program znowu, gdy jest on wylaczany, bo po prostu mozna zabic proces innymi programami(Kill task i wiele innych), nawet gdy zablokowuje Task Manager!!!
Trzeba mi cos madrego :-)
Nie da sie tego zrobic!!
Musiałbyś podmienić jakąś biblioteke systemową i wtedy by Ci to chodziło, ale zawsze można wgrać nowy plik.
I jak to mozna zrobic? Jaka systemowa biblioteke? [co]
Ma ktos jakies pomysly? [stuk]
A pomyślał ktoś że dwóch procesów nikt na raz nie zabije? Dwa procesy sprawdzające czy działa trzeci (główny program) oraz czy drugi sprawdzający jest włączony. Nazwy procesów jakieś anty lamowe np. System 98 lub SYSLOCAL czy jakoś tak
chodzi ci oto zeby niebył pokazany po wciśnięciu ALT + CTRL + DEL
[wstyd]
jeśli tak ściągnij sobie FAQ - a w formie programu jest tu chyba taki o robieniu trojanów i tam to jest na pewno
Ludzie, NIE ROBIE TROJANU!!! [krzyk]
Robie program dla kafejki internetowej(znajomy poprosil), trzeba mi zeby nikt nie mogl wylaczyc ten program, nawet jezeli ma cos typu Kill Task!
A moze bylby ktos taki dobry i pomogl by mi z tymi 3 procesami ;-)
Lub moze podajcie rade na inny sposob [hurra]
Tworzysz trzy programiki, Pr1, Pr2, Pr3. Pr1 pilnuje Pr2, Pr2 pilnuje Pr3 a Pr3 pilnuje Pr1. Takze tworzy sie zamkniety pierscien. I jezeli ktorys z programow stwierdzi ze brakuje jego podopiecznego to go wywoluje na nowo. A dowolny program mozesz rozbudowac o potrzebne ci funkcje.
Chyba jesne?
No tak to zrozumialem, myslalem ze moze jakos wyjdzie to w jednej aplikacji utworzyc jakos 3 procesy [???]
A jak mozn zrobic program dla monitorowania?
Chyba trzeba z Timerem, zeby sprawdzal co jakis czas czy dany proces istnieje? Moze ktos wie jak to zrobic? [co]
To jest funkcja sprawdzajaca czy program o nazwie 'nazwa' jest uruchomiony:
[code]function IfProcess(nazwa : string):Boolean;
var
sHandle:thandle;
pEntry:tprocessentry32;
begin
result:=True;
sHandle:=createtoolhelp32snapshot(TH32CS_SNAPPROCESS,0);
pEntry.dwSize:=sizeof(pEntry);
if integer(process32first(sHandle,pEntry))0 then
repeat
if pEntry.szExeFile=nazwa then Exit;
until integer(process32next(sHandle,pEntry))=0;
closehandle(sHandle);
result:=False;
end;[/code]
Wiec wprowadzasz ja do Timera i masz sprawe sprawdzania zalatwiona.
Teraz wystarczy zareagowac jezeli programu nie bedzie, czyli uruchomic go ponownie.
Pozdrawiam [cya]