Tehnika Krstarice > Programiranje > Delphi - Kako dobiti spisak svih prikačenih uređaja?

Delphi - Kako dobiti spisak svih prikačenih uređaja?

27.06.2001.

Potrebu za pregledom uređaja prikačenih na spoljne portove možemo rešiti korišćenjem funkcije QueryDosDevice. Da odmah naglasimo da je funkciju moguće koristiti samo u Windows NT okruženju (Win-32). Ovom funkcijom obezbeđujemo aplikacijama informaciju o nazivima ugrađenih MS-DOS uređaja. Funkcija može mapirati samo određene MS-DOS uređaje ili sve postojeće uređaje. Nazivi MS-DOS uređaja čuvaju se u Windows NT-u kao simbolička imena. Sintaksa same funkcije je sledeća:

 DWORD QueryDosDevice(
    LPCTSTR lpDeviceName,
    LPTSTR lpTargetPath,
    DWORD ucchMax
    );

Parametri predstavljaju sledeće:

  • LPCTSTR - parametar predstavlja adresu stringa MS-DOS uređaja.
  • LPTSTR - parametar predstavlja adresu bafera u kome se čuvaju rezultati upita za uređajima.
  • DWORD - parametar predstavlja maksimalnu veličinu bafera.

Za primer ćemo napraviti mali programčić koji će izlistati sve MS-DOS uređaje na sistemu. Samo obratite pažnju da program pokrećete u Win-32 okruženju. Pokrenite Delphi i otvorite novi projekt, te na praznu formu postavite po jednu kontrolu: TMemo i TButton. Na kraju, kontroli TButton samo dodajte sledeći kod (u okviru događaja OnClick):

 procedure TForm1.Button1Click(Sender: TObject);
 var
  naziv: string;
  isize, i: dword;
 begin
   setlength(istr, 4000);
   isize := QueryDosDevice(nil, @naziv[1], 4000);
   for i := 1 to isize do
     if naziv[i] = #0 then naziv[i] := #10;
   memo1.lines.CommaText := naziv;
 end;

Preporučite ovaj članak

Članak još uvek nije ocenjen.