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;
Pratite Krstaricu na www.krstarica.com