Soyez le premier à donner votre avis sur cette source.
Snippet vu 15 019 fois - Téléchargée 35 fois
' A balancer direct dans un module : Option Explicit ' Les api nécessaires Public Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long Public Declare Function GetProcessMemoryInfo Lib "PSAPI.DLL" (ByVal HProcess As Long, ppsmemCounters As PROCESS_MEMORY_COUNTERS, ByVal cb As Long) As Long ' Le type de données qui va décrire notre processus Type PROCESS_MEMORY_COUNTERS cb As Long PageFaultCount As Long PeakWorkingSetSize As Long WorkingSetSize As Long QuotaPeakPagedPoolUsage As Long QuotaPagedPoolUsage As Long QuotaPeakNonPagedPoolUsage As Long QuotaNonPagedPoolUsage As Long PagefileUsage As Long PeakPagefileUsage As Long End Type ' Les constantes requises Public Const PROCESS_QUERY_INFORMATION = 1024 Public Const PROCESS_VM_READ = 16 Public Const MAX_PATH = 260 ' Renvoie la taille de la mémoire occupée par un processus Public Function GetProcessusSize(ProcessID As Long) As Long Dim HProcess As Long Dim pmc As PROCESS_MEMORY_COUNTERS Dim Ret As Long ' Récupère le handle du processus à partir de son identifiant HProcess = OpenProcess(PROCESS_QUERY_INFORMATION Or PROCESS_VM_READ, 0, ProcessID) ' On prépare pmc pmc.cb = LenB(pmc) ' On récupère les infos du processus Ret = GetProcessMemoryInfo(HProcess, pmc, pmc.cb) GetProcessusSize = Str(pmc.WorkingSetSize) Ret = CloseHandle(HProcess) End Function
7 juil. 2005 à 10:38
Mais logiquement je dirais en octets donc si tu divise par 1024^2 ça te donne des méga
6 juil. 2005 à 04:12
quelles sont les unites que GetProcessusSize est suppose renvoyer ? (bits, kbytes,etc) parce que si je divise par 1024^2 ca donne a peu pres la meme valeur que le gestionnaire de taches (k)
merci
1 sept. 2004 à 13:03
1 sept. 2004 à 13:00
1 sept. 2004 à 12:48
pour ce qui est ce la taille introuvable je veux bien te croire, mais il est forcément possible de la retrouver car elle est quand même affichée dans le gestionnaire de taches... Enfin bon il n'y en a pas trop qui sont interdit, ça passe encore.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.