AccueilCodes sourcesFreewaresArticlesRéponsesRechercheVotre avisNewsMon blogLiensContact
Dimanche 25 Janvier 2026

Valid HTML 4.01 Transitional

126 codes sources48 articles77 news24 Liens15 avis9 réponses.
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
®2006 - codel5g.com