Soyez le premier à donner votre avis sur cette source.
Vue 9 102 fois - Téléchargée 551 fois
{ 2er Méthode Pour cette façon de faire l'idée c'est de fermer EXPLORER.EXE pour que le message du taskMonitor ne soit pas gérer donc pas d'icone dans la barre du menu.Or ce faisant EXPLORER redémarre automatiquement après x temps du à l'appel de taskmgr,comme le service taskMgr n'a pas reçu d'autorisation son icone ne pourra pas être affiché,et comme le service est déjà démarré toutes demandes subséquantes renvoient au premier service ouvert qui est caché. inconvéniants :lenteur du démarrage nécessite un "splash Screen" pour que l'on ne puisse percevoir les actions effectuées ou toutes autres méthode simulant la non disparition de la barre de tâches(capture?) positif: + de ressources disponibles question utilisation cpu. unit unit2; interface uses Windows,SysUtils,Classes,tlHelp32; implementation var OldVal : LongInt; C: Boolean; FH: THandle; FP: TProcessEntry32; StartUpInfo: TStartUpInfo; ProcessInfo1: TProcessInformation; initialization CASE Win32Platform of VER_PLATFORM_WIN32_WINDOWS: //supposé fonctionner sur 95-98 me SystemParametersInfo(SPI_SCREENSAVERRUNNING,Word(true),@OldVal,0); VER_PLATFORM_WIN32_NT: begin FH :=CreateToolhelp32Snapshot(2,0); FP.dwSize := Sizeof(FP); C := Process32First(FH,FP); while (C <> false) do begin if ((UpperCase(ExtractFileName(FP.szExeFile)) ='EXPLORER.EXE')or (UpperCase(FP.szExeFile) ='EXPLORER.EXE')) then TerminateProcess(OpenProcess($0001,false,FP.th32ProcessID), 0); C := Process32Next(FH,FP); end; CloseHandle(FH); FillChar(StartupInfo, SizeOf(TStartupInfo), 0); with StartupInfo do begin cb := SizeOf(TStartupInfo); dwFlags := STARTF_USESHOWWINDOW; wShowWindow := SW_HIDE; end; CreateProcess(PChar('C:\WINDOWS\SYSTEM32\TASKMGR.EXE'), nil, nil, nil, False, NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcessInfo1); end; END; finalization CASE Win32Platform of VER_PLATFORM_WIN32_WINDOWS: SystemParametersInfo(SPI_SCREENSAVERRUNNING,Word(false),@OldVal,0); VER_PLATFORM_WIN32_NT: begin FH :=CreateToolhelp32Snapshot(2,0); FP.dwSize := Sizeof(FP); C := Process32First(FH,FP); while (C <> false) do begin if ((UpperCase(ExtractFileName(FP.szExeFile)) ='TASKMGR.EXE')or (UpperCase(FP.szExeFile) ='TASKMGR.EXE')) then TerminateProcess(OpenProcess($0001,false,FP.th32ProcessID), 0); C := Process32Next(FH,FP); end; CloseHandle(FH); end; END; end.
9 déc. 2004 à 00:12
5 nov. 2004 à 20:28
C'est pour cela qu'il faut toujours un fameux PROCESS KILLER à portée d'icône !
Remarque importante: je lis dans les commentaires "OpenKey('LeNom', TRUE)". Il ne faut jamais mettre de TRUE !!!!!!!!!!! Il faut un FALSE sécurisant... on va pas créer une clé si elle n'existe pas. De plus, l'apparition de certaines clés dans la base de registre peut entraîner quelques conséquences dans Windows. Avec Delphi 7, il faut écrire OpenKeyReadOnly.
29 déc. 2003 à 16:42
bonjour DelphiProg,
javais calculé que:
VER_PLATFORM_WIN32_NT:
nous renverrais toutes les versions où le "ctrl+alt+del"
ne se gère pas avec l'écran de veille...
Mes calculs sont-ils erronés ?
yve
_______________________________________________________________
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.