|
| | Liste les pilotes et drivers chargés. | |
| |
| | Code WinDev | |
| |
| |
drivers est un
tableau de 1024 entiers // Même Micro$oft utilise une valeur fixe ! cbNeeded, cDrivers,
i sont des entiers szDriver est une chaîne ASCIIZ sur 1025
// +1 car il y a le \0
terminal du C
Resultat est une
chaîne = "" // Au lieu de faire un printf on stockera
ici
IF API(Psapi_dll,"EnumDeviceDrivers",
&drivers, Dimension(drivers)*4,&cbNeeded)
THEN cDrivers = cbNeeded / 4 FOR i=1 TO cDrivers IF
API( Psapi_dll, "GetDeviceDriverBaseNameA", drivers[i], &szDriver,1024) THEN IF
Resultat <> "" THEN Resultat += CRLF END Resultat += szDriver END END END
RENVOYER Resultat
Code fournit par
Philippe Pasquali
|
|
| |
| | Code C++ | |
| |
|
#include <windows.h> #include
<psapi.h> #include <tchar.h> #include
<stdio.h>
#define ARRAY_SIZE 1024
void main() { LPVOID drivers[ARRAY_SIZE]; DWORD cbNeeded; int cDrivers, i;
if( EnumDeviceDrivers(drivers,
sizeof(drivers), &cbNeeded) && cbNeeded <
sizeof(drivers)) { TCHAR szDriver[ARRAY_SIZE]; cDrivers =
cbNeeded/sizeof(drivers[0]);
_tprintf(TEXT("There are %d drivers:\n"),
cDrivers); for (i=0; i < cDrivers; i++ ) { if(GetDeviceDriverBaseName(drivers[i],
szDriver,
sizeof(szDriver)/sizeof(szDriver[0]))) _tprintf(TEXT("%d: %s\n"),
i+1, szDriver); } } else _tprintf(TEXT("EnumDeviceDrivers
failed; array size needed is %d\n"),
cbNeeded/sizeof(LPVOID)); } |
|
| |
| | Code VB | |
| |
| |
| |
| | Code Java | |
| |
| |
| | | | | |
| |
|