Page 1 sur 1

[UDF] NTProcess : Agir sur les processus

Posté : lun. 20 déc. 2010 06:39
par Kintow
Salut !
Je me suis juste inscrit ici pour poster cet UDF, donc je m'excuse si je ne fais pas ça dans les règles.

Nom : NTProcess
Permet de : Suspendre,Reprendre,Tuer un ou plusieurs processus
Utilisation :

_NTProcess("NtSuspendProcess","AutoIt3.exe") : Suspends AutoIt3.exe
_NTProcess("NtResumeProcess","AutoIt3.exe") : Reprends AutoIt3.exe
_NTKill("AutoIt3.exe") : Tue AutoIt3.exe (reprise de CloseProcess() )

Code : Tout sélectionner

Func _NTProcess($NtAction,$process)
$processid = ProcessExists($process)
If $processid Then
    $ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', 0x1f0fff, 'int', False, 'int', $processid)
    $i_sucess = DllCall("ntdll.dll","int",$NtAction,"int",$ai_Handle[0])
    DllCall('kernel32.dll', 'ptr', 'CloseHandle', 'ptr', $ai_Handle)
    If IsArray($i_sucess) Then
        Return 1
    Else
        SetError(1)
        Return 0
    Endif
Else
    SetError(2)
    Return 0
EndIf
EndFunc

Func _NTKill($process)
    $processid = ProcessExists($process)
If $processid Then
    ProcessClose($processid)
Else
    SetError(1)
    Return(0)
EndIf
EndFunc
En éspérant que ça en aide certains

Re: [UDF] NTProcess : Agir sur les processus

Posté : lun. 20 déc. 2010 06:52
par Tlem
Bonne présentation. J'ai rajouté la coloration du code, car dans cette section, vous pouvez l'utiliser. ;)

Vous devriez améliorer votre fonction en rajoutant un contrôle sur $NtAction, car en l'état, on peut mettre n'importe quoi ...

La déclaration des variables en local éviterait aussi au compilateur de couiner pour pas grand chose. ;)

Merci pour votre partage.

Re: [UDF] NTProcess : Agir sur les processus

Posté : mar. 21 déc. 2010 10:20
par AlapOwner
Merci Kintow, tu vois là j'ai tout compris :mrgreen: