Bonjour !
Je voudrait savoir comment enlever ce que ProcessExplorer apelle un 'Thread' ciblé (voir image jointe) sans passer par ProcessExplorer !
Je vous remercie d'avance pour vos réponse
ps: pour le processus, j'ai pris le premier qui venait ... (voir image)
$Result = DllCall("Kernel32.dll", "INT", "TerminateThread", "HANDLE", $hThread, "DWORD", $ExitCode)
If $Result = 0 Then
MsgBox(16, "Erreur!", "Erreur lors de la fermeture du Thread")
EndIf
The warnings above are a gross understatement. TerminateThread is NOT a solution for shutting down worker threads. You will break your app, and it will fail randomly.
C'est qu'il y a une bonne raison.
Grosso modo, il est dit un peu avant et un peu après, qu'il est préférable d'essayer d'autres solutions, que celle-ci. A moins d'avoir une excellente raison pour en arriver là.
Sinon, ça revient à peu près à faire un trou au 11.43 dans le processeur, du côté du core sur lequel le thread tourne ; c'est du brutal de chez Smith & Wesson.
En un mot, ça a la diplomatie de l'armée rouge.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
j'ai un autre problème:
je veux enlever le thread d'un processus sauf que il y a 4 ou 5 thread qui portent le même nom, celui que je veux enlever est celui qui comporte le plus de 'cycles'
Visiblement,le message d'un membre du groupe des émérite,celui d'un administrateur et celui d'un Membre (le seul) du groupe MVP vous sont transparent !!!
En effet, c'est dangereux quand on ne sait pas s'en servir, comme toute fonction.
Sinon, ça ne dépend pas du "nom" comme tu dit (et d'ailleurs, ce n'est pas un nom que tu désigne mais une start adress), mais du Thread ID (TID).
Désolé Tlem de n'avoir pas réagis mais je sais que ça peut-être dangereux et la façon dont je veux l'utiliser est avec pratiquement aucun risque.
et ça me serait extrêmement utile.
Voilà, j'ai une sorte de 'virus' (pas bien méchant) qui s'active quand j'allume mon pc et ce virus me dis qu'il y a un Mise à jour à faire quand j'arrête le PC et le seul moyen que j'ai trouvé pour l'enlever est d'enlever le thread. c'est pour ça que je voudrais faire un script que je démarrerais chaque jour plutôt que de passer par ProcessExplorer
Utiliser AutoIt pour traiter un "virus" (même si je doute que s'en soit un) directement n'est pas une bonne solution étant donné qu'il existe des outils adaptés a cela.
Mais sinon, il faut passer un handle de type TID a la fonction TerminateThread.
Pfff
Bon pour avoir le TID tu peux utiliser :
_WinAPI_GetCurrentThreadId (dans WinApi.au3)
_WinAPI_EnumProcessThreads (dans WinApiEx.au3, à récupérer sur le forum US)
Je suppose que tu as déjà essayé les WinClose etc...
Bonne chance
" L'échec est le fondement de la réussite. " (Lao-Tseu ) " Plus ça rate, plus on a de chances que ça marche " (les Shadoks )