[ネットワークドライブの接続状況を取得する]
現在接続されているネットワークドライブを取得します。
【ソースコード】 [tips0153.pas]
program tips0153;
{$APPTYPE CONSOLE}
uses Windows,SysUtils;
var
Size : Cardinal;
i : Char;
Buff : array [0..255] of Char;
DrvStr : String;
DrvStrR: String;
begin
Size := SizeOf( Buff );
for i := 'A''' to 'Z''' do begin
DrvStr := i + ':''';
DrvStrR := DrvStr + '\''';
case GetDriveType( PChar(DrvStrR) ) of
0: DrvStr := DrvStr + #9 + 'The drive type cannot be determined.''';
1: DrvStr := DrvStr + #9 + 'Available.''';
DRIVE_REMOVABLE: DrvStr := DrvStr + #9 + 'Removable.''';
DRIVE_FIXED : DrvStr := DrvStr + #9 + 'Fixed.''';
DRIVE_REMOTE :
begin
case WNetGetConnection( PChar(DrvStr), Buff, Size ) of
0: DrvStr := DrvStr + #9 + 'Connected to ''' + Buff;
ERROR_NOT_CONNECTED:
begin
DrvStr := DrvStr + #9 + 'Available''';
end;
ERROR_CONNECTION_UNAVAIL:
begin
DrvStr := DrvStr + #9
+ 'Remembered but not connected (''' + Buff + ')''';
end;
else RaiseLastWin32Error;
end;
end;
DRIVE_CDROM : DrvStr := DrvStr + #9 + 'CD-ROM.''';
DRIVE_RAMDISK : DrvStr := DrvStr + #9 + 'RAM Disk.''';
end;
WriteLn( DrvStr );
end;
end.
【コンパイル&実行】 [tips0153.bat]
dcc32 tips0153.pas
tips0153.exe >tips0153.txt
pause
【実行結果】 [tips0153.txt]
A: Available.
B: Available.
C: Fixed.
D: Fixed.
E: CD-ROM.
F: CD-ROM.
G: Available.
H: Available.
I: Available.
J: Available.
K: Available.
L: Available.
M: Available.
N: Available.
O: Available.
P: Available.
Q: Available.
R: Available.
S: Available.
T: Available.
U: Available.
V: Available.
W: Available.
X: Connected to \\landisk\00_syatyou
Y: Connected to \\landisk\08_syatyou
Z: Available.
Copyright c 2009, ohishi,All rights reserved.