|
EXEMPLO DE USO DE API DO WINDOWS |
Débuté par Boller, 24 juin 2020 19:31 - Aucune réponse |
| |
| | | |
|
| |
Membre enregistré 3 655 messages Popularité : +175 (223 votes) |
|
Posté le 24 juin 2020 - 19:31 |
PROCESS_TERMINATE est un entier = 0x0001 PROCESS_CREATE_THREAD est un entier = 0x0002 PROCESS_SET_SESSIONID est un entier = 0x0004 PROCESS_VM_OPERATION est un entier = 0x0008 PROCESS_VM_READ est un entier = 0x0010 PROCESS_VM_WRITE est un entier = 0x0020 PROCESS_DUP_HANDLE est un entier = 0x0040 PROCESS_CREATE_PROCESS est un entier = 0x0080 PROCESS_SET_QUOTA est un entier = 0x0100 PROCESS_SET_INFORMATION est un entier = 0x0200 PROCESS_QUERY_INFORMATION est un entier = 0x0400 PROCESS_SUSPEND_RESUME est un entier = 0x0800
hwndprocess est un entier nomprocess est une chaîne ASCIIZ de 1024 nbprocess est un entier ind est un entier
lpidProcess est un tableau dee 100 entiers cb est un entier = Dimension(lpidProcess) * 4 cbNeeded est un entier
PROCESS_MEMORY_COUNTERS est une structure cb est un entier PageFaultCount est un entier PeakWorkingSetSize est un entier WorkingSetSize est un entier QuotaPeakPagedPoolUsage est un entier QuotaPagedPoolUsage est un entier QuotaPeakNonPagedPoolUsage est un entier QuotaNonPagedPoolUsage est un entier PagefileUsage est un entier PeakPagefileUsage est un entier FIN
p_m est un PROCESS_MEMORY_COUNTERS
p_m:cb = Dimension(p_m)
API ( "Psapi" , "EnumProcesses" , &lpidProcess , cb , &cbNeeded )
nbprocess = cbNeeded / 4
POUR ind = 1 A nbprocess
hwndprocess = API ( "kernel32" , "OpenProcess" , PROCESS_QUERY_INFORMATION , Faux , lpidProcess[ind] ) SI hwndprocess ALORS
API ( "Psapi" , "GetProcessMemoryInfo" , hwndprocess , &p_m , Dimension(p_m) )
API ( "Psapi" , "GetProcessImageFileNameA", hwndprocess , &nomprocess , 1024 )
API ( "kernel32" , "CloseHandle" , hwndprocess )
nomprocess = ExtraitChaîne ( nomprocess , 1 , "\" , DepuisFin )
TableAjoute ( Table1 , nomprocess + TAB + p_m:WorkingSetSize/1024 )
SINON
TableAjoute(Table1, erreurmessage() )
FIN
FIN
Pour récupérer seulement le Process en cours, utilisez juste :
hwndprocess = API ( "kernel32" , "GetCurrentProcess" ) ET le code suivant le SI hwndprocess ALORS
La Procedure erreurmessage() SI ca vous interresse
Procedure erreurmessage()
FORMAT_MESSAGE_IGNORE_INSERTS est un entier = 0x00000200 FORMAT_MESSAGE_FROM_SYSTEM est un entier = 0x00001000
message_erreur est une chaîne ASCIIZ sur 512
API( "kernel32" , "FormatMessageA" , FORMAT_MESSAGE_FROM_SYSTEM + FORMAT_MESSAGE_IGNORE_INSERTS , ... Null , API( "kernel32" , "GetLastError" ) , 0 , &message_erreur , 512 , Null )
RENVOYER message_erreur
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | | | |
| | |
|