daves Opublikowano 1 Kwietnia 2005 Zgłoś Opublikowano 1 Kwietnia 2005 Witam. Napisalem sobie cos w stylu wylaczania kompa o okreslonej godzinie na haselko. Czyli ustawiajac godzine i wprowadzajac haslo anulowanie wyłączenia mozliwe jest po wprowadzeniu hasla. zablokowalem wylaczenei aplikacji droga alt+f4 Form1->OnCloseQeury()... CanClose = false; lecz bystrzak zauwazy ze wywolanie ctrl+alt+del moze zakilowac proces tak samo jak wywolanie funkcji "CreateToolHelp32SnapShot() " przed ktorymi nie mam zadnej blokady. Poszperalem w necie i znalazlem mozliwosc oszukania systemu i zablokowanie "trzec kroli" w ten sposob: int dummy; SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, &dummy, 0); Ale nie przeszlo u mnie na XP (na 98 nie probowalem) Tak wiec jeszcze jeden sposob dorwalem na necie (na innym forum) ktory w kolei usuwa nasza aplikacje z listy managera zadan a mianowicie: W pliku naglowkowym formy dokonujemy takiej zmiany: //----------------------------------------------- typedef DWORD (__stdcall *pRegFunction)(DWORD, DWORD); // dodany wpisclass TForm1 : public TForm { __published: // IDE-managed Components void __fastcall FormCreate(TObject *Sender); void __fastcall FormClose(TObject *Sender, TCloseAction &Action); private: // User declarations HINSTANCE hKernelLib; // pRegFunction RegisterServiceProcess; // dodane te dwa wpisypublic: // User declarations __fastcall TForm1(TComponent* Owner); }; //-----------------------------------------------Nastepnie w pliku cpp na poczatku definiujemy: #define RSP_SIMPLE_SERVICE 1 #define RSP_UNREGISTER_SERVICE 0I glowne blokowanie przeprowadzamy tak: hKernelLib = LoadLibrary("kernel32.dll"); if(hKernelLib) { RegisterServiceProcess = (pRegFunction)GetProcAddress(hKernelLib, "RegisterServiceProcess"); if(RegisterServiceProcess) RegisterServiceProcess(GetCurrentProcessId(), RSP_SIMPLE_SERVICE); }ten sposob elegancko mi usuwa moja aplikacje z listy magagera zadan ale tylko pod systemem Windows 9x, na systemie XP juz to nie dziala ;/ Wpadlem tez na pomysl aby na formie w zdarzeniu OnDestry() przydzielic pamiec do tej samej formy i stworzyc ja od nowa ale to mi nie wychodzi za bardzo. Mam nadzieje ze ktos juz sie zetnal z tym problemem i zna wyjscie z problemu Po prostu chce uniemozliwic zakilowanie mojej aplikacji z zewnatrz na XP. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Nargil Opublikowano 1 Kwietnia 2005 Zgłoś Opublikowano 1 Kwietnia 2005 ogolnie to systemy operacyjna sa od tego by nie dalo sie takich przekretow robic, bo swiat bylby zatrojanowany ( i tak jest ). stworz nowa aplikacje, ktora pelni funkcje watchera, a potem za pomoca jednej aplikacji sprawdzaj czy druga zostala zamknieta i na odwrot. Jesli tak to otwieraj. no i jeszcze musisz jakos rozwiazac zachowywanie danych wprowadzonych. Rozwiazanie 1: Zapisujesz to gdzies na dysku ;) Rozwiazanie 2: Za pomoca socketow przesylasz to miedzy dwoma procesami. Aplikacja 1 odpala watchera i wysyla mu dane. Jesli watcher zostanie zamkniety to jeszcze raz go odpala i znow mu wysyla. Jesli aplikacja zostanie zamknieta to watcher odpala aplikacje i wysyla jej dane. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
SGJ Opublikowano 1 Kwietnia 2005 Zgłoś Opublikowano 1 Kwietnia 2005 RegisterServiceProcess nie działa w Windows XP, brak tej funkcji w DLL'u w tym systemie. Mozna zablokowac dostęp do menedzera zadań jednym wpisem w rejestrze. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
daves Opublikowano 1 Kwietnia 2005 Zgłoś Opublikowano 1 Kwietnia 2005 Mozna zablokowac dostęp do menedzera zadań jednym wpisem w rejestrze. 1362156[/snapback] W takim razie gdzie w rejestrze znajde ten klucz? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
SGJ Opublikowano 1 Kwietnia 2005 Zgłoś Opublikowano 1 Kwietnia 2005 DisableTaskMgr dword 1 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...