![]() |
Prüfen ob Treiber geladen wurde
Hallo zusammen.
Ich würde gerne wissen, ob eine bestimmte Treiberdatei (C:\Windows\System32\bla.sys) geladen wurde, d.h. der Treiber aktiv ist und nicht nur die Datei auf der Festplatte liegt. Habt ihr eine Idee, wie man das anstellen könnte? Grüße |
Re: Prüfen ob Treiber geladen wurde
Das Einfachste ist, den Treiber anzusprechen, wenn er antwortet, dann ist er geladen.
|
Re: Prüfen ob Treiber geladen wurde
Zitat:
|
Re: Prüfen ob Treiber geladen wurde
Hallo Codewalker, anbei Sample.
Delphi-Quellcode:
lg. Astatuses windows, SysUtils; function EnumDeviceDrivers(lpImageBase: PPointer; cb: DWORD; var lpcbNeeded: DWORD): BOOL; stdcall; external 'psapi.dll' name 'EnumDeviceDrivers'; function GetDeviceDriverBaseName(ImageBase: Pointer; lpBaseName: PChar; nSize: DWORD): DWORD; stdcall; external 'psapi.dll' name 'GetDeviceDriverBaseNameA'; var lpcbNeeded: DWORD; ppArray: PPointerArray; szDriver: PChar; i: integer; count: integer; begin if not EnumDevicedrivers(nil, 0, lpcbNeeded) then RaiseLastWin32Error; GetMem(ppArray, lpcbNeeded); try if EnumDevicedrivers(@ppArray[0], lpcbNeeded, lpcbNeeded) then begin count := lpcbNeeded div 4; GetMem(szDriver, MAX_PATH); try for i := 0 to count -1 do begin if GetDevicedriverBaseName(ppArray[i], szDriver, MAX_PATH) = 0 then RaiseLastWin32Error; writeln(inttohex(dword(ppArray[i]), 8) + ' - ' + szDriver); end; finally freemem(szDriver); end; end; finally freemem(ppArray); end; readln; end. |
Re: Prüfen ob Treiber geladen wurde
Hallo Astat.
Danke, dein Sample klappt einwandfrei :thumb: . Ich habs gestern noch mit WMI versucht, aber darüber kommt man nicht an die nötigen Infos (zumindest will WMI sie mir nicht sagen :mrgreen: ). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz