![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Диспетчер устройств [D7, WinXP]
z80maniac © (2007-01-16 20:15:00)Windows XP. Как получить список оборудования, установленного в системе (как в диспетчере устройств). А также иметь возможность включать и выключать устройства. Частный случай: как узнать отключить/включить сетевую плату или получить другие её свойства.
Rouse_ (2007-01-17 15:47:00) [1]
const
DIGCF_ALLCLASSES=$00000004;
DIGCF_PRESENT=$00000002;
DIGCF_PROFILE=$00000008;
DIGCF_DEVICEINTERFACE=$00000010;
SPDRP_DEVICEDESC=$00000000;
type
SP_DEVINFO_DATA=record
cbSize:DWord;
ClassGuid:TGuid;
DevInst:DWord; // DEVINST handle
Reserved:LongInt;
end;
PSP_DEVINFO_DATA = ^SP_DEVINFO_DATA;
PGuid = ^TGuid;
H_DEV = Pointer;
function SetupDiCreateDeviceInfoList(ClassGuid:PGuid;
hwndParent:cardinal):Pointer; stdcall; external 'setupapi.dll';
function SetupDiGetClassDevsExA(ClassGuid:PGuid; Enumerator:PChar;
hwndParent:cardinal; Flags:DWord; DeviceInfoSet:Pointer;
MachineName:PChar; Reserved:DWord):Pointer; stdcall; external 'setupapi.dll';
function SetupDiGetClassDevsA(ClassGuid:PGuid; Enumerator:PChar;
hwndParent:cardinal; Flags:DWord):Pointer; stdcall; external 'setupapi.dll';
function SetupDiGetDeviceRegistryPropertyA(DeviceInfoSet:Pointer;
DeviceInfoData:PSP_DEVINFO_DATA; Property_:DWord; PropertyRegDataType:Pointer;
PropertyBuffer:Pointer; PropertyBufferSize:cardinal; RequiredSize:Pointer):longbool;
stdcall; external 'setupapi.dll';
function SetupDiEnumDeviceInfo(DeviceInfoSet:Pointer; MemberIndex:DWord;
var DeviceInfoData:SP_DEVINFO_DATA):longbool; stdcall; external 'setupapi.dll';
function SetupDiDestroyDeviceInfoList(DeviceInfoSet:Pointer):longbool; stdcall;
external 'setupapi.dll';
z80maniac (2007-01-17 15:37:00) [2]А где эти функции находятся? Или нужен какой-то сторонний юнит?
Rouse_ (2007-01-17 14:12:00) [3]SetupDiEnumDeviceInfo получить, SetupDiSetClassInstallParams + SetupDiCallClassInstaller отключить/включить