Private Declare Function OpenProcess Lib "Kernel32.dll" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long Private Declare Function NtSuspendProcess Lib "Ntdll.dll" (ByVal hProc As Long) As Long Private Declare Function NtResumeProcess Lib "Ntdll.dll" (ByVal hProc As Long) As Long Private Declare Function CloseHandle Lib "Kernel32.dll" (ByVal hObject As Long) As Long Private Const PROCESS_SUSPEND_RESUME As Long = &H800 Public Function SuspendResumeProcess(ByVal Pid As Long, ByVal Action As Boolean) As Long Dim hProcess As Long hProcess = OpenProcess(PROCESS_SUSPEND_RESUME, 0&, Pid) If hProcess Then If Action Then SuspendResumeProcess = NtSuspendProcess(hProcess) Else SuspendResumeProcess = NtResumeProcess(hProcess) End If CloseHandle hProcess End If End Function
Le code est plus court que de suspendre chaque thread du processus effectivement ^^ (plus rapide ?)par contre d'après le nom des api (NtSuspendProcess) ça marche que sous nt je suppose ?(enfin de nos jours, qui n'a pas nt ^^)
Eh oui en effet, valable seulement sur Nt 2000 et XP je pense...Pour la rapidite, c'est en effet surement plus rapide que d'enumerer les threads de les ouvrir et les suspendre...Mais l'avantage c'est surtout la simplicite ;)++
salut,(pas testé)umm... codyx?++
Nickel, je remplace tout un module par 2 APIs ;)Merci, @+
merci pour la note ^^PCPT >> "umm... codyx?"Eh ca veux dire quoi au juste ?++
http://www.codyx.org/@+
Ah ok... merci Ken ;)J'etais deja tombe sur cette page je savais pas trop ce que c'etait lolJe sais pas si ce ptit bout de code y a sa place, je vais la suggerer on verra...++
snippet activé.et je viens de tester... çà peut vraiment être utile.précision : les actions sont suspendues mais pas en pause (donc pas perdues).qu'est-ce qu'il dit? beh suffit de tester avec le bloc-note par exemple : .on met en pause.on donne le focus (sans effet visuel).on saisi une phrase (disabled donc rien)...la phrase apparaît à lorsque réactive le pidun p'tit 10 de plus ;)PCPT [AFCK]
...la phrase apparaît lorsqu'on réactive le pid ***
"la phrase apparaît lorsqu'on réactive le pid"Eh oui mais ca je pense que c'est Windows qui enregistre le(s) message(s) et qui l'envoi a l'appli lorsqu'elle se "reveille" (enfin je suppose)++
Code interessant. Mais je ne sais pas ce qu'est un Pid. Merci pour l'explicationPatrice
PID > ProcessID c'est l'identificateur d'un processus, un numéro quoi.Pour le voir lance le gestionnaire des taches, onglets processus et dans le menu affichage clique sur sélectionner les colonnes, la active la case "numéro" ou "pid" ou je ne sais plus quel nom.Ensuite tu auras la colonne qui t'affichera le pID de chaque processus.
salut,exemple.. "Shell" renvoie le PID.lPid à déclarer en Long (déclarations générales)lPid=Shell("notepad.exe")et ensuite tu fais les tests sur cette variables....++
Merci pour les explications. Le programme est donc très utile. Je le testerai sous XP.Patrice
je suis sous xp et sa fonctionne pas :-/ xp pro sp2 ^^enfin ptete un prob chez moi mais je doute
Salut,Eh a mon avis c'est surement un probleme de droits utilisateur...Est tu bien administrateur de ta machine ?Si oui, tu pas peut etre un anti-malware qui t'as desactiver les droits de "debogage" des process...Enfin il peut y avoir des tonnes de raisons, mais je doute fort que ca vienne du code en lui meme...++
pardon mais es ce qq peut m'aider? je chreche a programmer un PID avec VB .netet je ne sais pas par ou commence Merci
Erf tu vas en faire rire plus d'un la ^^Un Pid (Process identifier) en francais (Identificateur de processus) est un nombre entier 32bit servant comme son nom l'indique a identifier un processus.Dans le gestionnaire de taches de Windows dans le menu affichage tu clic sur "Selectionner les colones" et tu coches PID.Tu verra alors les pid s'afficher dans la liste des processus.Tu verra que tu as plusieurs processus qui portent le meme nom genre Svchost.exe, c'est justement leur PID qui permet de les differencier.Le PID est attribué "aléatoirement" par Windows lors de la creation du processus.Donc voila en gros ce qu'est un PID, maintenant si tu veux toujours programmer un PID je ne peux rien faire pour toi! lolMais peut etre peux tu reposer ta question ?Que veux tu faire au juste ?++
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte