Remplacez le gestionnaire des tâches de windows par n'importe quelle autre application (lors de ctrl+alt+suppr)

Soyez le premier à donner votre avis sur cette source.

Vue 12 388 fois - Téléchargée 678 fois

Description

Ce code modifiera le registre de manière à ce que ce ne soit pas taskmgr.exe qui se lance lors de l'appui sur ctrl+alt+suppr, mais le programme de test de l'exemple !

Rassurez vous, RIEN n'est modifié dans Windows si ce n'est UNE clé registre. De plus, vous pouvez restaurer très facilement taskmgr.exe à partir du programme de test, pas de craintes donc ^_-

MARCHE SUR XP (et peut être sur d'autres ? A vous de me le dire ;))

Nécessite (il me semble) des droits d'admin pour modifier la base de registre.

(PS : c'est encore un bout de code d'un très gros projet)

Source / Exemple :


'Tout repose sur une clé registre, voyez vous même le code :

Option Explicit

'//MODULE contenant une fonciton permettant de remplacer taskmgr par n'importe quelle
'application lors de l'appui sur ctrl+alt+suppr

'*******************************
'***Par Violent_ken 1/09/2006***
'*******************************

'APIs nécessaires

'API utilisée pour fermer une clé ouverte
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
'efface une valeur de clé
Private Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
'créé une clé registre
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
'affecte une valeur
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long

'clé root Hkey Local Machine
Private Const HKEY_LOCAL_MACHINE = &H80000002
'type de clé REG_SZ
Private Const REG_SZ = 1

Public Sub ReplaceTaskmgr(ByVal bReplaceOrNot As Boolean, Optional ByVal sFile As String)
'Fonction qui remplace (ou non) le gestionnaire des taches (quand l'on appuie sur ctrl+alt+suppr)

'C'est une simple création de valeur de clé :
'Dans la clé :
'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\taskmgr.exe
'il faut ajouter une REG_SZ
'de nom=Debugger
'et de valeur=chemin vers l'exécutable
'La suppression de cette clé remet taskmgr.exe

Dim lRet As Long, sPath As String, sName As String
'path de la clé
sPath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\taskmgr.exe"
'nom de la clé
sName = "Debugger"

If bReplaceOrNot Then
    '//on ajoute la clé
    'créé la clé
    RegCreateKey HKEY_LOCAL_MACHINE, sPath, lRet
    'sauvegarde la string désirée dans la clé
    RegSetValueEx lRet, sName, 0, REG_SZ, ByVal sFile, Len(sFile)
    'ferme la clé
    RegCloseKey lRet
Else
    '//enlève la clé
    'créé la clé
    RegCreateKey HKEY_LOCAL_MACHINE, sPath, lRet
    'efface la valeur de la clé
    RegDeleteValue lRet, sName
    'ferme la clé
    RegCloseKey lRet
End If
End Sub

Conclusion :


ATTENTION ! Compilez d'abord le programme avant de l'utiliser, de sorte que App.EXEname (utilisé pour spécifier le nom de l'exécutable du fichier de test) ne renvoie PAS le nom du PROJET (c'est le cas lorsque vous lancez l'application depuis Visual Studio).

Allez y sans craintes, aucun risque de corrompre quoi que ce soit.

Testé sous Windows XP Edition Familiale SP2 + droits admins.

Si çà ne marche pas chez vous, dîtes moi quel est votre OS et si vous êtes Admin. Il se peut qu'il vous faille plus de droits que vous en avez actuellement pour modifier la base de registre.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
mardi 20 novembre 2007
Statut
Membre
Dernière intervention
20 novembre 2007

est ce que avec ton logiciel on peut sauvegarder un programme dans la base de registre par exemple pour que celui si s'execute au demarrage?
Messages postés
2493
Date d'inscription
jeudi 14 juillet 2005
Statut
Contributeur
Dernière intervention
5 juin 2016
1
kikochris, il faut sélectionner "gestionnaire des tâches"
ça au moins, c'est pas un OS pour simplets ...
Messages postés
13
Date d'inscription
samedi 5 avril 2003
Statut
Membre
Dernière intervention
19 mars 2007

ne fonctionne que sous xp, mais pas sous windows 2000 pro sp4.
en fait sous W2000ProSP4, lorsque je fait Ctrl+Alt+Supp, une fenêtre avec 6 boutons apparaît :
-verrouiller l'ordinateur
-fermeture de session
-Arreter le systeme
-changer de mot de passe
-gestionnaire des tâches
-Annuler

donc, le gestionnaire des tâches n'est pas appelé lorsque je fait Ctrl+Alt+Supp.
Quelqu'un peut me dire quel est le processus qui est appelé, et qui faffiche cette fenêtre à 6 boutons ?
merci
Messages postés
69
Date d'inscription
dimanche 6 octobre 2002
Statut
Membre
Dernière intervention
14 juillet 2009

Fonctionne sous win2000 (de NT4 à XP c'est la même chose)
Messages postés
1812
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
26 octobre 2010
1
Ok, j'ai compris. Merci, @+
Afficher les 17 commentaires

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.