Czy ktoś juz opatentował pomysł jak Usunąć z listy Ctrl + Alt + Del swój program pod WinXP bez dynamiczego ort! kernel32.dll ???
Jezeli ukryjesz belke, ikonke kolo tray'a i cala forme, nie bedzie widocznego twojego programu (ale proces pozostanie).
zdobywasz uchwyt okienka z lista procesow, szukasz swojego programu i uswoasz dany item. to powinno pomoc http://4programmers.net/view_faq.html?id=456
Kod w MASM32 jesli nie dojdziesz co sie z czym je to pisz przetlumacze to na czyste WinApi:
[code]
; definicje w sekcji dancyh
szKernel32 db "Kernel32.dll",0
szRSP db "RegisterServiceProcess",0
; kod do ukrycia aplikacji przed alt+ctrl+del
push offset szKernel32
call GetModuleHandle ; pobierz wskaznik kernel32.dll
push offset szRSP
push eax
call GetProcAddress ; pobierz adres funkcji
mov ebx, eax ; zapisz wskaznik w ebx
call GetCurrentProcessId ; pobierz aktualny ID procesu
push 1 ; 1 = Rejestruj jako Usluga
push eax ; ID procesu
call ebx ; wywolanie RegisterServiceProcess
[/code]
Tutaj potrzebny jest ID procesu ktory chcesz ukryc a to mozesz otrzymac korzystajac z tego fragmentu : http://4programmers.net/Forum/viewtopic.html?id=45226
call ebx ; wywolanie RegisterServiceProcess
Funkcję RegisterServiceProcess można stosować tylko w Win 95/98/Meeeeee.
W Win NT, 2000 i XP istnieją prawdziwe serwisy i tej funkcji w kernelu po prostu nie ma.
TRUE ale nikt nie powiedzial ze to ma byc na NT - TRUE to na NT nie pojdzie.
TRUE ale nikt nie powiedzial ze to ma byc na NT - TRUE to na NT nie pojdzie.
Jak nikt nie pwoeidzial skoro cale pytanie jest o Win XP :). Swoją drogą bardzo ciekawe ;]
HIHIhi na fakt dopiero teraz przyuwazylem winXP w pierwszym poscie :-8
A nie lzej bylo by zabronic <ort>w ogóle</ort> Task Managera??? :>
procedure DisableTaskMgr(bTF: Boolean);
var
reg: TRegistry;
begin
reg := TRegistry.Create;
reg.RootKey := HKEY_CURRENT_USER;
reg.OpenKey('Software', True);
reg.OpenKey('Microsoft', True);
reg.OpenKey('Windows', True);
reg.OpenKey('CurrentVersion', True);
reg.OpenKey('Policies', True);
reg.OpenKey('System', True);
if bTF = True then
begin
reg.WriteString('DisableTaskMgr', '1');
end
else if bTF = False then
begin
reg.DeleteValue('DisableTaskMgr');
end;
reg.CloseKey;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
DisableTaskMgr(True);
end;
Torry.net ort! [browar]
Jesli chodzi o ukrycie, to juz lepiej wylapywac uchwyt listy taskmanagera i usuwac swoj wpis, bo po zablokowaniu go od razu bedzie wiadomo,ze juz cos nie tak i wtedy tylko PrcView..
Tam nie <ort>w ogóle</ort> ort! a wyrzuca tabele: "Task Manager has disabled by your system administrator". :d
Lama moze pomyslec ze cos sie stalo z systemem i machnac reka :-)
[niewinnosc]
//1st warning - poprawiaj zaznaczone błędy [krzyk] - m.M