begin process at 2012 02 11 11:14:17
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Exécution

 > DÉSACTIVER LE TASK MANAGER

DÉSACTIVER LE TASK MANAGER


 Information sur la source

Note :
7,25 / 10 - par 4 personnes
7,25 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Exécution Classé sous :gestionnaire, alt, suppr, taskmanager Niveau :Débutant Date de création :27/06/2006 Vu :14 555

Auteur : adamo901

Ecrire un message privé
Commentaire sur cette source (52)
Ajouter un commentaire et/ou une note

 Description

Ce n'est qu'un ligne de code mais je trouve que c'est interessant car elle m'a permet de remplacer des lignes de code.

j'ai beau chercher à désactiver les boutton "Ctrl Alt Suppr", j'ai trouvé beaucoup de codes mais nul d'entre eux n'a fonctionné pour moi.

Mon but était d'interdir l'accés au gestionnaire de programme et de n'autoriser à l'utilisateur d'utiliser que mon application.

J'ai ajouté une entrée pour mon appli dans la base des registres (Pour que mon appli démarre automatiquement et sans charger exlporer.exe, et j'ai désactivé le taskmanager.

Et ça marche à merveille!!!

Source

  • Open "C:\WINNT\system32\taskmgr.exe" For Random Lock Read As #1 'Dans l'événement load de la fenêtre principale de l'application.
  • Close #1 'Au moment ou l'on quitte l'appli.
Open "C:\WINNT\system32\taskmgr.exe" For Random Lock Read As #1 'Dans l'événement load de la fenêtre principale de l'application.


Close #1  'Au moment ou l'on quitte l'appli.



 Sources du même auteur

Source avec Zip Source avec une capture OUVRIR UNE APPLI EN .EXE DANS UNE FORM EN VB6
TRI D'UNE MSHFLEXGRID PAR CLICK SUR L'ENTÊTE

 Sources de la même categorie

Source avec Zip CALCULATRICE par TPB
Source avec Zip Source .NET (Dotnet) PIERRE PAPIER CISEAUX par Ultrabytes
Source avec Zip Source avec une capture UN PATCH EN VB (V3) par PhoenixBytes
Source avec Zip Source .NET (Dotnet) [VB.NET 2008] EXECUTION MULTITHREAD DE PLUSIEURS FONCTION À ... par ShadowTzu
Source avec Zip Source avec une capture MULTITHREADING ACTIVEX par Philippe734

 Sources en rapport avec celle ci

Source avec Zip Source .NET (Dotnet) LA LISTE DES TÂCHES COMME DANS L'ONGLET APPLICATION DU GESTI... par ShareVB
Source avec Zip Source avec une capture Source .NET (Dotnet) GESTION DE VIDÉOTHÈQUE par johndave
Source avec Zip Source avec une capture BLOQUER TOUTES LES COMBINAISONS DE TOUCHES ( CTRL ALT SUPP ... par soldier8514
Source avec Zip CTRL+ALT+SUPPR INTERCEPTION SUR XP par BruNews
Source avec Zip DESACTIVER CTRL+ALT+SUPPR ET ALT+TAB par Nix

Commentaires et avis

Commentaire de bouv le 27/06/2006 18:16:04

Evidemment que le TaskManager est bloqué car tu l'ouvre en disant "Je suis le seul a y avoir accès !".

Cela fonctionne fonctionne peut-être, mais ce n'est pas très propres.

Je ne me suis jamais penché sur la question donc je ne pourrai pas t'aider, mais si tu trouves une autre solution FONCE !

Commentaire de DARKSIDIOUS le 27/06/2006 19:00:59 administrateur CS

Oui en effet, c'est loin d'être propre ton code !

Commentaire de ratala le 27/06/2006 19:14:27

Ouai c'est pas genial et puis si par erreur tu modifie le taskmgr apres s'il marche plus !
Mais bon sinon je trouve que c'est une bonne idée

Commentaire de draluorg le 27/06/2006 22:21:01

Salut a tous,

Il y a les cles de restrictions pour desactiver le gestionnaire de taches dans les regles de l'art! ;)

Voir du cote de HKUS\crosoft\vindows\currentversion\policie (DisableTaskMgr)

++

Commentaire de diablamanshadow le 28/06/2006 05:32:35

bonjour,
et oui j'ai pas dodo ^^ bah sinon je vient de tester le code car je cherchais un desesperement comme celui ci

pour precision vla le code pour moi:

Private Sub Form_Load()
Open "C:\windows\system32\taskmgr.exe" For Random Lock Read As #1
End Sub

Private Sub Form_Unload(Cancel As Integer)
Close #1
End Sub

moi il marche a merveille certe il n'est pas propre mais il marche super nikel et pas besoin de changer le registre !!!
de plus quand on ferme le prog il redonne bien la main et on peut le rouvrir ^^
j'ai qu'un seul chose a dire 10/10 garanti :p car t le seul qui je trouve a reussi a bloquer le taskmanager sans afficher de message que l'admin la interdit ou quoi , qui l'empeche sans passer par des keypress ou le registre ,
qui ne tien qu'en 2 lignes et qui pour couronner le tt fonctionne ^^

cependant il y a toujours un mais ^^ donc je met mon mais :p quand j'ouvre le task avant d'ouvrir l'appli et que par la suite j'ouvre l'appli bah le taskmanager reste :p si je le ferme je sais plus le rouvrir (tant que le prog est ouvert du moins)
donc tu aurais pas une jolie ligne pour killer cette fennetre au cas ou un mec aurais tester comme moi de l'ouvrir avant l'appli ?

sinon j'ai aussi fait un ptit module pour trouver le taskmanager car bah oui tt le monde la pas sur le c ni dans WINNT (j'utilise le meme code pour referencer automatiquement mes ocx pour pas que l'utilisateur se fatigue ...)

donc voila nikel :p je met un ptit 10/10 les autres ont beau dire c'est pas propre et sa risque de modifier le task moi j'ai tester et adopter :p

sinon si tu pouvais me trouver la ptite ligne qui ferme le task au cas ou il serais deja ouvert lors de l'ouverture du prog se serais le comble :p

merci a toi ;-)
Diablaman

ps: vla mon mail diablaman@hotmail.com

Commentaire de Renfield le 28/06/2006 10:56:21 administrateur CS

"...si tu pouvais me trouver..."

un simple FindWindow / DestroyWindow suffisent....

Commentaire de adamo901 le 28/06/2006 11:37:21

Merci diablamanshadow pour ton encouragement.
Je ne comprends pas ce que "PAS PROPRE veut dire ici" Puis que ça fonctionne sans endomager le taskmanager!!!


Renfield : une petite explication sur ta proposition : FindWindow / DestroyWindow sera la bienvenue ;-)

Commentaire de ratala le 28/06/2006 12:32:55

Ou sinon
shell "tskill tasjmgr"
y'a pas plus simple je le vous garantie !

Commentaire de ratala le 28/06/2006 12:33:41

Je me suis trompé c'est
shell "tskill taskmgr"

Commentaire de adamo901 le 28/06/2006 14:33:59

Désolé chèr(e) ami(e)!! ton truc avec tskill ne fonctionne absolument pas.

Commentaire de ratala le 28/06/2006 15:10:54

Salut, c'est cher et ami ^^
et puis chez moi sa marche tres bien !
shell "tskill taskmgr"
je fais exactement sa et sa kill le gestionnaire des taches

Commentaire de DARKSIDIOUS le 28/06/2006 15:18:28 administrateur CS

tskill permet de fermer un processus (ici le taskmanager).

Commentaire de diablamanshadow le 28/06/2006 15:51:49

adamo la je veux pas etre mechant mais sa solution fonctionne sa prend +- une demi seconde pour qu'il le ferme mais il le kill proprement :p donc :

Private Sub Form_Load()
shell "tskill taskmgr"
Open "C:\windows\system32\taskmgr.exe" For Random Lock Read As #1
End Sub

Private Sub Form_Unload(Cancel As Integer)
Close #1
End Sub

merci pour ce super code ^^
Diablaman

Commentaire de bouv le 28/06/2006 17:35:15

Que va-t-il se passer si l'appli plante avec que Form_Unload ne soit appelée ?

Et ne venez pas me dire mon appli ne plante pas !

Commentaire de ratala le 28/06/2006 18:10:22

Le fichier est refermée des que l'aplication est quittée, normalement le

Private Sub Form_Unload(Cancel As Integer)
Close #1
End Sub

sert a rien

Commentaire de diablamanshadow le 28/06/2006 18:15:07

je prefere la prevoyance que le risque et je suis plus a 1 ligne pres dans mon prog ^^

Commentaire de Renfield le 28/06/2006 18:15:57 administrateur CS

Ratala, bouv mentionne un crash... pas de Form_Unload à ce moment là^^

si elle plante (ou est fermée), Windows relache de toute facon, de lui même les descripteurs de fichiers qu'elle a pu ouvrir

Commentaire de diablamanshadow le 28/06/2006 18:17:14

a ok bah alors je vire la ligne ^^
mici renfield

Commentaire de ratala le 28/06/2006 18:58:13

Renfield> Oui je sais c'est pour sa que c'est pas grave si y'a un crash

Commentaire de bouv le 28/06/2006 21:35:37

DACODAC !
Cependant, je reste sur ma position en disant qu'une alternative à cette méthode est préférable.

Commentaire de diablamanshadow le 29/06/2006 08:45:49

bouv une alternative je suis pas contre mais ici sa touche pas au registre , ses 2 ligne de code et sa marche nikel je vois pas se que je pourrais demander de plus ^^' mais si tu a une "autre alternative" plus propre et plus optimisee que deux ligne , sans toucher le registre et qui fonctionne sans probleme suis prenneur XD

a bonne entende
Diablaman

Commentaire de bouv le 29/06/2006 09:31:15

cf le commentaire de Renfield concernant FindWindow / DestroyWindow

Commentaire de Renfield le 29/06/2006 09:43:39 administrateur CS

j'aime bien le principe de verrouiller ainsi le fichier....
par contre, c'est un peu radical, et si l'on désire le lancer, on ne peut pas (je sais, c'est le but)

mais il va falloir faire une confiance aveugle aux programmes qui vont tourner sur la machine... le Task Manager est utile, tout de même.

en fait, que je ne suis pas convaincu (mais alors pas du tout) que tskill soit présent avant Windows Xp
les moyens ne manquent pas...

il va donc falloir coder ça à la main, si tu veux être un peu compatible :
soit par un EnumProcesses (et ses amis)
ou par WMI....

à toi de voir

Commentaire de diablamanshadow le 29/06/2006 14:01:06

bah moi ses un logiciel qui tournerais de tt maniere que sur xp donc sa me convient parfaitement ^^

Commentaire de adamo901 le 29/06/2006 16:25:52

shell "tskill tasjmgr" ne fonctionne pas chez moi
N.B J'utilise Windows 2000

Commentaire de diablamanshadow le 29/06/2006 21:08:25

tskill n'est pas sous les version inferieur a xp apparement ^^

Commentaire de ratala le 29/06/2006 21:14:50

Ah c'est pour sa alors !
sinon ya taskkill je sais pas si sa marche sur autre chose que xp:
taskkill.exe /F /IM taskmgr.exe
voila j'espere que sa va marcher
@+

Commentaire de adamo901 le 30/06/2006 12:17:33

:-( ça marche pas non plus sur Windows 2000!!

Commentaire de ratala le 30/06/2006 14:39:11

Domage...
t'a plus qu'a faire à l'ancienne ^^

Commentaire de diablamanshadow le 30/06/2006 17:46:11

a l'ancienne sa l'arrange pas se serais bien de lui donner le code de "a l'ancienne" car moi non plus je vois pas trop ^^ m'enfin moi la premiere methode marche donc a l'ancienne m'interesse pas mais lui surement ^^

Diablaman

Commentaire de adamo901 le 30/06/2006 18:20:17

Merci diablamanshadow   :-)

Commentaire de ratala le 30/06/2006 20:30:32

Voila aidez vous de sa :
c'est un mini (mais alors tres mini) antivirus qui kill une liste de processus mise dans un fichier texte, je l'ai fait parce que j'avait des virus que j'arrivai pas à enlever alors je me suis décider à tout simplement les killer voila:
http://ratala.free.fr/miniav.php (c'est la source bien sur)
@+

Commentaire de draluorg le 30/06/2006 20:37:55

erf les killeur de processus c'est pas ce qu'il manque sur le site! Avez vous au moins regarde ?

Sinon plus propre, utiliser l'api FindWindow comme suggere plus haut...

Pour en revenir au verrouillage, je pense que c'est vraiment pas une bonne methode, et il est preferable d'utiliser la bdr ou d'editer les droits sur le fichier...

++

Commentaire de diablamanshadow le 30/06/2006 21:52:09

editer les droits sur un fichier laisse trop de trace , la bdr est sympa mais plus compliquer a utiliser que se code ^^
moi je dit que le code de base est une bonne idee et tres cours et fonctionne bien ^^ pour le fait de killer le taskmanager deja ouvert lors du logiciel ses vrai que les droit ou meme le reg ou autre serais simple mais vu que une majoritee des gens sont sous windows xp (et deja meme certain sur vista) bah ses nikel ^^ pour ceux qui sont en dessous je leur conseille de faire un listing des process et de looker apres le taskmanager ^^ et une fois qu'il est la hop il le kill je cherche apres ca et ej vous met la source ici (je l'avais fait pour msn afin d'emmerder un poto :p)

dans une form:

Public Function ProcessList()
List1.Clear
List2.Clear
Dim hSnapshot As Long
Dim uProcess As PROCESSENTRY32
Dim r As Long
  hSnapshot = CreateToolhelpSnapshot(TH32CS_SNAPPROCESS, 0&)
  If hSnapshot = 0 Then Exit Function
   uProcess.dwSize = Len(uProcess)
   r = ProcessFirst(hSnapshot, uProcess)
   Do While r
        List1.AddItem uProcess.szexeFile
        List2.AddItem uProcess.th32ProcessID
        r = ProcessNext(hSnapshot, uProcess)
    Loop
End Function

Private Sub Command2_Click()
ProcessTerminate (List2.List(List1.ListIndex))
End Sub

Private Sub Form_Load()
ProcessList
End Sub

Private Sub Timer1_Timer()
For i = 1 To List1.ListCount
    If List1.List(i) = "msnmsgr.exe" Then
        ProcessTerminate (List2.List(i))
    End If
Next i
For b = 1 To List1.ListCount
    If List1.List(i) = "MSNMSGR.EXE" Then
        ProcessTerminate (List2.List(i))
    End If
Next b
ProcessList
End Sub


dans un module :


Option Explicit
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
Private Declare Function AdjustTokenPrivileges Lib "advapi32.dll" (ByVal TokenHandle As Long, ByVal DisableAllPrivileges As Long, NewState As TOKEN_PRIVILEGES, ByVal BufferLength As Long, PreviousState As TOKEN_PRIVILEGES, ReturnLength As Long) As Long
Private Declare Function OpenProcessToken Lib "advapi32.dll" (ByVal ProcessHandle As Long, ByVal DesiredAccess As Long, TokenHandle As Long) As Long
Private Declare Function LookupPrivilegeValue Lib "advapi32.dll" Alias "LookupPrivilegeValueA" (ByVal lpSystemName As String, ByVal lpName As String, lpLuid As LUID) As Long
Private Declare Function GetCurrentProcess Lib "kernel32" () As Long
Declare Function ProcessFirst Lib "kernel32" Alias "Process32First" (ByVal hSnapshot As Long, uProcess As PROCESSENTRY32) As Long
Declare Function ProcessNext Lib "kernel32" Alias "Process32Next" (ByVal hSnapshot As Long, uProcess As PROCESSENTRY32) As Long
Declare Function CreateToolhelpSnapshot Lib "kernel32" Alias "CreateToolhelp32Snapshot" (ByVal lFlags As Long, lProcessID As Long) As Long

Private Type LUID
LowPart As Long
HighPart As Long
End Type

Private Type LUID_AND_ATTRIBUTES
pLuid As LUID
Attributes As Long
End Type

Private Type TOKEN_PRIVILEGES
PrivilegeCount As Long
TheLuid As LUID
Attributes As Long
End Type


Public Const MAX_PATH As Integer = 260
Public Const TH32CS_SNAPPROCESS As Long = 2&

Type PROCESSENTRY32
    dwSize As Long
    cntUsage As Long
    th32ProcessID As Long
    th32DefaultHeapID As Long
    th32ModuleID As Long
    cntThreads As Long
    th32ParentProcessID As Long
    pcPriClassBase As Long
    dwFlags As Long
    szexeFile As String * MAX_PATH
    End Type


Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Function ProcessTerminate(Optional lProcessID As Long, Optional lHwndWindow As Long) As Boolean
Dim lhwndProcess As Long
Dim lExitCode As Long
Dim lRetVal As Long
Dim lhThisProc As Long
Dim lhTokenHandle As Long
Dim tLuid As LUID
Dim tTokenPriv As TOKEN_PRIVILEGES, tTokenPrivNew As TOKEN_PRIVILEGES
Dim lBufferNeeded As Long

Const PROCESS_ALL_ACCESS = &H1F0FFF, PROCESS_TERMINAT = &H1
Const ANYSIZE_ARRAY = 1, TOKEN_ADJUST_PRIVILEGES = &H20
Const TOKEN_QUERY = &H8, SE_DEBUG_NAME As String = "SeDebugPrivilege"
Const SE_PRIVILEGE_ENABLED = &H2

On Error Resume Next
If lHwndWindow Then
'Get the process ID from the window handle
lRetVal = GetWindowThreadProcessId(lHwndWindow, lProcessID)
End If

If lProcessID Then
'Give Kill permissions to this process
lhThisProc = GetCurrentProcess

OpenProcessToken lhThisProc, TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY, lhTokenHandle
LookupPrivilegeValue "", SE_DEBUG_NAME, tLuid
'Set the number of privileges to be change
tTokenPriv.PrivilegeCount = 1
tTokenPriv.TheLuid = tLuid
tTokenPriv.Attributes = SE_PRIVILEGE_ENABLED
'Enable the kill privilege in the access token of this process
AdjustTokenPrivileges lhTokenHandle, False, tTokenPriv, Len(tTokenPrivNew), tTokenPrivNew, lBufferNeeded

'Open the process to kill
lhwndProcess = OpenProcess(PROCESS_TERMINAT, 0, lProcessID)

If lhwndProcess Then
'Obtained process handle, kill the process
ProcessTerminate = CBool(TerminateProcess(lhwndProcess, lExitCode))
Call CloseHandle(lhwndProcess)
End If
End If
On Error GoTo 0
End Function



voila voila ^^ je vient de retester et sa veut plus allez avec msn va savoir pk du me gourrer dans une lettre du nom du process ou koi m'enfin sinon suis sur que sa fonctionne ^^

Commentaire de diablamanshadow le 30/06/2006 21:54:13

l'erreur etais dans le timer vla la maj scuzer avais mis mon ancien timer XD

Private Sub Timer1_Timer()
For i = 1 To List1.ListCount
    If List1.List(i) = "MSNMSGR.EXE" Then
        ProcessTerminate (List2.List(i))
    End If
Next i
ProcessList
End Sub

Commentaire de draluorg le 01/07/2006 01:20:51

Exemple avec FindWindow:

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long


Private Sub Command1_Click()
    Dim l As Long
    l = FindWindow(vbNullString, "Gestionnaire des tâches de Windows")
    if l > 0 Then Call SendMessage(l, &H10, 0, 0)
End Sub

Commentaire de diablamanshadow le 01/07/2006 02:14:40

ouais sa ferme une fennetre mais sa kill vraiment le process de la fennetre ? car sa vire les fennetre qui a dans le bt application mais sa peut pas killer tt ce qui a dans le bouton process vu que certain n'ont pas de fennetre ? :-/
arf la je m'embrouille :s

Diablaman

Commentaire de draluorg le 01/07/2006 11:41:42

Eh le mot essayer tu connais ? lol

++

Commentaire de Renfield le 01/07/2006 13:27:17 administrateur CS

Ca "simule" un click sur le bouton fermer de la fenêtre...
pas d'inquiétude sur le process, il est bien terminé.

J'ai quelques reserves, concernant ce code...
si on a une autre version de Windows, ou tout simplement dans une autre langue, l'intutilé de la fenêtre recherché sera erronné...

il vaus mieux rechercher le process, d'après le nom de l'Exe, qui, lui, ne varie pas (ou peu)

Commentaire de ratala le 01/07/2006 17:22:40

Ah c'est bien sa le click sur bouton fermer !
En plus l'API findwindows est simple à utiliser.
sinon quelqun connaît une api qui permetterai d'avoir le nom d'un executable à partir de son HWND ?

Commentaire de Renfield le 01/07/2006 17:31:41 administrateur CS

tu as l'API GetWindowThreadProcessId, qui doit pouvoir être un point de départ...

Commentaire de draluorg le 05/07/2006 13:35:16

re,

En effet Renfield, mon exemple ne marchera que pour les version francaise.

Voici la meme methode mais avec le nom de la class, en esperant que ce soit le meme sous toutes les versions...

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long


Private Sub Command1_Click()
    Dim l As Long
    l = FindWindow("#32770", vbNullString)
    If l > 0 Then Call SendMessage(l, &H10, 0, 0)
End Sub

A tester...

++

Commentaire de Renfield le 05/07/2006 14:18:14 administrateur CS

FindWindow("#32770", vbNullString) :o

c'est franchement radical ^^ c'est le nom de classe des boites de dialogues, MsgBox et autres....

Commentaire de draluorg le 05/07/2006 14:27:37

Erf lol, en effet, ca marche si le gestionnaire de tache est ouvert et qu'il est le premier de la liste #32770, j'ai fait ca d'apres spy++ et j'ai ouvert le gestionnaire puis teste et ca marchait, je pensais donc que c'etait bien le nom de la classe...

++

Commentaire de ratala le 05/07/2006 15:48:44

Comment t'a fait pour savoir que #32770 était le nom de classe du gestionnaire des taches ?

Commentaire de Renfield le 05/07/2006 15:56:48 administrateur CS

il te l'as dit ^^

visible dans SPY++

Commentaire de pymaster le 11/08/2006 17:40:13

vérouillez le fichier est une bonne idée, mais une personne qui sait faire un copier coller et qui connais l'emplacement du fichier taskmgr.exe pourra facilement ouvrir le Task Manager dans un autre répertoire.

Commentaire de vicosta le 29/10/2006 16:23:27

bonne source, il faudrait y penser

Commentaire de grandzebu le 13/12/2006 01:11:29

Super simple ... et efficace. Pas très académique ? Peut-être mais ne pas oublier le but : une machine qui n'utilise qu'un seul et unique programme lancé avec Windows (Machine en libre service dans mon cas) Ya pas de risque de lancer le taskmanager avant ou de faire quoi que ce soit puisque explorer n'est pas lancé !

Commentaire de spike20 le 20/10/2007 03:17:04 10/10

si le programme arrete avant de faire le Close #1 il aura seulement à utiliser ENDITALL (programme arretant les processus comme avec taskmrg.exe) ou mettre un validation dans son code comme le combo ESC+ENTRE avec un timer dune intervalle de 1 milliseconde :

Dim xx As Boolean

Private Sub Timer1_Timer()
If GetAsyncKeyState(27) And GetAsyncKeyState(13) Then
    xx = True
    Unload Me
End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
If xx = True Then
    End
Else
    Cancel = 1
End If
    Close #1
End Sub

Commentaire de yugoboss0 le 30/03/2010 23:44:42

Bonjour,

Pour que le gestionnaire de tâches soit désactivé, il suffit d'écrire dans le registre à la clé suivante : "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableTaskMgr", c'est une clé "REG_DWORD" qui doit être à 1.

Soit le code suivant (Sans API excusez-moi) :

option explicit

Private WshShell as Object

Form_Load()

Set WshShell = CreateObject("wscript.shell")

WshShell.regwrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableTaskMgr", 1, "REG_DWORD"

end sub

Form_Unload()

WshShell.regdelete "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableTaskMgr"

end sub

Voila !

Commentaire de vicosta le 06/04/2010 17:44:41

yugoboss0 a raison pour cette clef du registre. Ceci est souvent employé dans les cyber-cafés

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Gérer les touches 'Ctrl+Alt+Suppr' [ par Kenou ] Bonjour,Quelqu'un sait comment éviter que Windows ne prenne la main quand on appuie sur 'Ctrl+Alt+Suppr' ou sur la touche 'Windows' du clavier lorsque Panneau Ctrl + alt +suppr [ par Stéphane de Brest ] dans un fichier, je souhaite recupérer le nom de la station et de la dernière personne qui l'a utilisé. Mon pg fonctionne lorsque la personne est conn ctrl+alt+suppr [ par blindman ] comment faire apparitre le gestionnaire des taches que l'on obtien avec ctrl+alt+suppr j'essaye avec senkeys mais j'arrive pas ,je ne doit pas avoir l Interception ctrl-alt-suppr [ par Fred ] Est-il possible d'intercepter lectrl-alt-suppr et d'en annuler lesconsequences ?Sinon comment savoir si un msgboxest a l'ecran, et comment le validerp redemarrez l'ordi et bloquez controle alt suppr [ par ange46 ] Je cherche quelqun qui pourrait m'expliquez comment redemarrez l'ordi et bloquez ctrl+alt+suppr ctrl + alt + suppr [ par xvr232 ] slt tt le monde!J'aimerai savoir comment faire pour, sans verouiller ctrl alt suppr, faire en sorte que qd on fait "fin de tache" sur mon prog ds la l CTRL+ALT+SUPPR [ par Moria ] Slt,Cette fameuse question inacheuver :)Comment faire pour bloker ces 3 touches sur Win98 ? Et alt+F4 et Alt + Tab ??C pour un log de securisation de comment desactiver ctrl+alt+suppr sur Windows 2000 [ par martinkk ] comment desactiver ctrl+alt+suppr sur Windows 2000 Comment réactiver ctrl+alt+suppr ??? [ par nashoy ] salut,lors d'un test j'ai désactivé la commande ctrl+alt+suppr, mais je ne connais malheureusement pas la commande inverse,pour réactiver cette combin Désactiver la touche Ctrl+Alt+Suppr sur XP [ par zakay ] Salut à tous, je voudrais savoir quel code faut-il en Visual Basic pour désactiver la combinaison des touches Ctrl+Alt+Suppr dans l'environnement Wind


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,198 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales