Guten Morgen @all
Ich versuche gerade mittels WMI (Danke für den Tip) zu testen ob sich eine Bestimmte PCMCIA Card im Laptop befindet. Sobald sie installiert ist steht sie ja unter der jeweiligen Rubrik im Hardwaremanager den auszulesen stellt jetzt kein Problem mehr da. Mittels dem Programm Scriptomatic lassen sich auch ganz schnell Scripts in WQL erstellen und prima in Delphi einbinden. Nur leider finde ich keinen Anhaltspunkt wie und wo ich die PCMCIA Card testen kann ob sie im Slot steckt. Ich möchte bereits vor einer Treiberinstallation bzw. gleich nach dem "Beep" wenn ich die Karte einschiebe wissen ob und welche Karte im Slot steckt.
Mit 'SELECT * WIN32_PCMCIAController' bekomme ich es nicht heraus dort habe ich kein Eintrag gefunden der mir sagt ob Slot 1 oder 2 eine Card mit dem Namen xxx steckt.
function TTest.IsPCMCIACardInSlot: Boolean;
var
aSrv : ISWbemServices;
aObjSet : ISWbemObjectSet;
vNVS : OleVariant;
aNVSDummy : IDispatch;
pEnum : IEnumVARIANT;
vOut : OleVariant;
dwRetrieved : LongWord;
hRes : HResult;
vValue : OleVariant;
SWbemLocator1 : TSWbemLocator;
begin
SWbemLocator1 := TSWbemLocator.Create(NIL);
aSrv := SWbemLocator1.ConnectServer('','root\CIMV2','','', '','',0,vNVS);
aObjSet := aSrv.ExecQuery('SELECT* ,??? ',
'WQL', 0, aNVSDummy);
pEnum := aObjSet.Get__NewEnum as IEnumVARIANT;
while (TRUE) do
begin
hRes := pEnum.Next(1, vOut, dwRetrieved);
if hRes <> S_OK then
Break;
// Code ...
end;
end;
Mit freundlichen Grüssen
Jan Ohlmann
Ich versuche gerade mittels WMI (Danke für den Tip) zu testen ob sich eine Bestimmte PCMCIA Card im Laptop befindet. Sobald sie installiert ist steht sie ja unter der jeweiligen Rubrik im Hardwaremanager den auszulesen stellt jetzt kein Problem mehr da. Mittels dem Programm Scriptomatic lassen sich auch ganz schnell Scripts in WQL erstellen und prima in Delphi einbinden. Nur leider finde ich keinen Anhaltspunkt wie und wo ich die PCMCIA Card testen kann ob sie im Slot steckt. Ich möchte bereits vor einer Treiberinstallation bzw. gleich nach dem "Beep" wenn ich die Karte einschiebe wissen ob und welche Karte im Slot steckt.
Mit 'SELECT * WIN32_PCMCIAController' bekomme ich es nicht heraus dort habe ich kein Eintrag gefunden der mir sagt ob Slot 1 oder 2 eine Card mit dem Namen xxx steckt.
function TTest.IsPCMCIACardInSlot: Boolean;
var
aSrv : ISWbemServices;
aObjSet : ISWbemObjectSet;
vNVS : OleVariant;
aNVSDummy : IDispatch;
pEnum : IEnumVARIANT;
vOut : OleVariant;
dwRetrieved : LongWord;
hRes : HResult;
vValue : OleVariant;
SWbemLocator1 : TSWbemLocator;
begin
SWbemLocator1 := TSWbemLocator.Create(NIL);
aSrv := SWbemLocator1.ConnectServer('','root\CIMV2','','', '','',0,vNVS);
aObjSet := aSrv.ExecQuery('SELECT* ,??? ',
'WQL', 0, aNVSDummy);
pEnum := aObjSet.Get__NewEnum as IEnumVARIANT;
while (TRUE) do
begin
hRes := pEnum.Next(1, vOut, dwRetrieved);
if hRes <> S_OK then
Break;
// Code ...
end;
end;
Mit freundlichen Grüssen
Jan Ohlmann
Comment