Koden bruges i første omgang til (også) at lære mig lidt om WMI-klad, så den er nok noget overdreven i denne omgang, men i en senere udganve vil den blive forfinet .
Listbox2.Items.Add(Format('DVD1: END %s',[''])); Listbox2.Items.Add(''); FWbemObject := Unassigned; end; end;
Og det hele kaldes med:
procedure TForm1.Button1Click(Sender: TObject); begin Coinitialize(NIL); DoDVD1(); COUninitialize; end;
Det er (som skrevet) ikke alle attributter jeg har brugf for, men i en læreproces føler jeg , at det ikke gør noget at overdrive ganske meget . da det tjener et godt formål (nemlig at lære mig selv det her! )
Koden for LPT1: er stort set den samme som ovenstående bare med attributterne fra WIN32_Printer class'en ,
Jeg sammenlignede din kode (omkring LPT1) med min kode og de var stort set ens, bortset fra EET sted nemlig her:
oEnum := IUnknown(FWbemObjectSet._NewEnum) as IEnumVariant; IF oEnum.Next(1, FWbemObject, iValue) = 0 then begin ....
HVis jeg ændrer dette IF THEN til en WHILE ... DO så finder den koden alle printere og alle CD/DVD'ere.
Så problemet er LØST til min store tilfredshed.
1000 Tak. Har markeret din kode i #4 som en løsning.
Kristian
(Min "fejl" lå i at jeg faktisk troede, at der kun var een post i databasen for printere / CD-DVD'ere . Nu er jeg blevet klogere. TAK )
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.