DÉSACTIVER LE TASK MANAGER

bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 - 27 juin 2006 à 18:16
vicosta Messages postés 178 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 30 novembre 2011 - 6 avril 2010 à 17:44
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/38336-desactiver-le-task-manager

vicosta Messages postés 178 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 30 novembre 2011
6 avril 2010 à 17:44
yugoboss0 a raison pour cette clef du registre. Ceci est souvent employé dans les cyber-cafés
yugoboss0 Messages postés 14 Date d'inscription lundi 24 novembre 2008 Statut Membre Dernière intervention 9 mars 2011
30 mars 2010 à 23:44
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 !
cs_spike20 Messages postés 3 Date d'inscription dimanche 6 novembre 2005 Statut Membre Dernière intervention 20 octobre 2007
20 oct. 2007 à 03:17
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
grandzebu Messages postés 27 Date d'inscription vendredi 22 août 2003 Statut Membre Dernière intervention 23 décembre 2017
13 déc. 2006 à 01:11
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é !
vicosta Messages postés 178 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 30 novembre 2011
29 oct. 2006 à 16:23
bonne source, il faudrait y penser
pymaster Messages postés 74 Date d'inscription vendredi 14 juillet 2006 Statut Membre Dernière intervention 14 août 2006
11 août 2006 à 17:40
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.
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
5 juil. 2006 à 15:56
il te l'as dit ^^

visible dans SPY++
ratala Messages postés 248 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 22 juin 2008
5 juil. 2006 à 15:48
Comment t'a fait pour savoir que #32770 était le nom de classe du gestionnaire des taches ?
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
5 juil. 2006 à 14:27
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...

++
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
5 juil. 2006 à 14:18
FindWindow("#32770", vbNullString) :o

c'est franchement radical ^^ c'est le nom de classe des boites de dialogues, MsgBox et autres....
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
5 juil. 2006 à 13:35
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...

++
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
1 juil. 2006 à 17:31
tu as l'API GetWindowThreadProcessId, qui doit pouvoir être un point de départ...
ratala Messages postés 248 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 22 juin 2008
1 juil. 2006 à 17:22
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 ?
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
1 juil. 2006 à 13:27
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)
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
1 juil. 2006 à 11:41
Eh le mot essayer tu connais ? lol

++
diablamanshadow Messages postés 419 Date d'inscription lundi 30 août 2004 Statut Membre Dernière intervention 28 janvier 2008
1 juil. 2006 à 02:14
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
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
1 juil. 2006 à 01:20
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
diablamanshadow Messages postés 419 Date d'inscription lundi 30 août 2004 Statut Membre Dernière intervention 28 janvier 2008
30 juin 2006 à 21:54
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
diablamanshadow Messages postés 419 Date d'inscription lundi 30 août 2004 Statut Membre Dernière intervention 28 janvier 2008
30 juin 2006 à 21:52
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 ^^
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
30 juin 2006 à 20:37
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...

++
ratala Messages postés 248 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 22 juin 2008
30 juin 2006 à 20:30
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)
@+
adamo901 Messages postés 139 Date d'inscription mardi 18 janvier 2005 Statut Membre Dernière intervention 8 décembre 2008
30 juin 2006 à 18:20
Merci diablamanshadow :-)
diablamanshadow Messages postés 419 Date d'inscription lundi 30 août 2004 Statut Membre Dernière intervention 28 janvier 2008
30 juin 2006 à 17:46
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
ratala Messages postés 248 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 22 juin 2008
30 juin 2006 à 14:39
Domage...
t'a plus qu'a faire à l'ancienne ^^
adamo901 Messages postés 139 Date d'inscription mardi 18 janvier 2005 Statut Membre Dernière intervention 8 décembre 2008
30 juin 2006 à 12:17
:-( ça marche pas non plus sur Windows 2000!!
ratala Messages postés 248 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 22 juin 2008
29 juin 2006 à 21:14
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
@+
diablamanshadow Messages postés 419 Date d'inscription lundi 30 août 2004 Statut Membre Dernière intervention 28 janvier 2008
29 juin 2006 à 21:08
tskill n'est pas sous les version inferieur a xp apparement ^^
adamo901 Messages postés 139 Date d'inscription mardi 18 janvier 2005 Statut Membre Dernière intervention 8 décembre 2008
29 juin 2006 à 16:25
shell "tskill tasjmgr" ne fonctionne pas chez moi
N.B J'utilise Windows 2000
diablamanshadow Messages postés 419 Date d'inscription lundi 30 août 2004 Statut Membre Dernière intervention 28 janvier 2008
29 juin 2006 à 14:01
bah moi ses un logiciel qui tournerais de tt maniere que sur xp donc sa me convient parfaitement ^^
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
29 juin 2006 à 09:43
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
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
29 juin 2006 à 09:31
cf le commentaire de Renfield concernant FindWindow / DestroyWindow
diablamanshadow Messages postés 419 Date d'inscription lundi 30 août 2004 Statut Membre Dernière intervention 28 janvier 2008
29 juin 2006 à 08:45
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
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
28 juin 2006 à 21:35
DACODAC !
Cependant, je reste sur ma position en disant qu'une alternative à cette méthode est préférable.
ratala Messages postés 248 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 22 juin 2008
28 juin 2006 à 18:58
Renfield> Oui je sais c'est pour sa que c'est pas grave si y'a un crash
diablamanshadow Messages postés 419 Date d'inscription lundi 30 août 2004 Statut Membre Dernière intervention 28 janvier 2008
28 juin 2006 à 18:17
a ok bah alors je vire la ligne ^^
mici renfield
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
28 juin 2006 à 18:15
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
diablamanshadow Messages postés 419 Date d'inscription lundi 30 août 2004 Statut Membre Dernière intervention 28 janvier 2008
28 juin 2006 à 18:15
je prefere la prevoyance que le risque et je suis plus a 1 ligne pres dans mon prog ^^
ratala Messages postés 248 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 22 juin 2008
28 juin 2006 à 18:10
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
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
28 juin 2006 à 17:35
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 !
diablamanshadow Messages postés 419 Date d'inscription lundi 30 août 2004 Statut Membre Dernière intervention 28 janvier 2008
28 juin 2006 à 15:51
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
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
28 juin 2006 à 15:18
tskill permet de fermer un processus (ici le taskmanager).
ratala Messages postés 248 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 22 juin 2008
28 juin 2006 à 15:10
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
adamo901 Messages postés 139 Date d'inscription mardi 18 janvier 2005 Statut Membre Dernière intervention 8 décembre 2008
28 juin 2006 à 14:33
Désolé chèr(e) ami(e)!! ton truc avec tskill ne fonctionne absolument pas.
ratala Messages postés 248 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 22 juin 2008
28 juin 2006 à 12:33
Je me suis trompé c'est
shell "tskill taskmgr"
ratala Messages postés 248 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 22 juin 2008
28 juin 2006 à 12:32
Ou sinon
shell "tskill tasjmgr"
y'a pas plus simple je le vous garantie !
adamo901 Messages postés 139 Date d'inscription mardi 18 janvier 2005 Statut Membre Dernière intervention 8 décembre 2008
28 juin 2006 à 11:37
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 ;-)
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
28 juin 2006 à 10:56
"...si tu pouvais me trouver..."

un simple FindWindow / DestroyWindow suffisent....
diablamanshadow Messages postés 419 Date d'inscription lundi 30 août 2004 Statut Membre Dernière intervention 28 janvier 2008
28 juin 2006 à 05:32
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
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
27 juin 2006 à 22:21
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)

++
ratala Messages postés 248 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 22 juin 2008
27 juin 2006 à 19:14
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
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
27 juin 2006 à 19:00
Oui en effet, c'est loin d'être propre ton code !
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
27 juin 2006 à 18:16
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 !
Rejoignez-nous