ネットワークドライブの接続先IPアドレスを知るには?

解決


ss  2012-08-28 00:06:35  No: 42832  IP: 192.*.*.*

いつもお世話になっております。
ネットワークドライブのドライブはGetDriveTypeで
取得できますが、そのドライブの接続先のアドレスは
どのようにしたら取得できますでしょうか?

Z:がネットワークドライブの場合、Z:がどのIPアドレス
の共有フォルダ(例\\192.168.1.5\Share)の場合の
192.168.1.5を取得したいのですが、ご存知の方
よろしくお願いします。

編集 削除
au  2012-08-28 09:13:38  No: 42833  IP: 192.*.*.*

WNetGetConnectionでネットワークドライブのUNCパスが得られるのでそこから切り出して必要なら加工すれば良いかと

編集 削除
ss  2012-08-28 22:26:25  No: 42834  IP: 192.*.*.*

auさんありがとうございます。

編集 削除
ss  2012-08-29 20:09:09  No: 42835  IP: 192.*.*.*

auさん
さっそくやってみましたが、『変数実パラメータと変数仮パラメータ
とは同一の型でなければなりません。』のエラーとなります。
型はあっていると思うのですが?
よろしくお願いします。

procedure TForm1.Button5Click(Sender: TObject);
  var
    chrDrive  : char;
    strLocal  : string;
    chrRemote : array [0..MAX_PATH] of Char;
    BuffSize  : integer;
  begin
    for chrDrive  :=  'a' to  'z' do  begin
      strLocal    :=  chrDrive + ':';
      BuffSize    :=  SizeOf(chrRemote);
      if  WNetGetConnection(PChar(strLocal),chrRemote,BuffSize) = NO_ERROR then  begin    ←  ここでエラー
        ListBox1.Items.Add(strLocal + chrRemote);
      end;
    end;
  end;

編集 削除
au  2012-08-29 21:58:18  No: 42836  IP: 192.*.*.*

BuffSize  : integer;
をCardinalにしたらどうでしょう?

編集 削除
ss  2012-08-29 22:15:25  No: 42837  IP: 192.*.*.*

auさんありがとうございました。
Cardinalできました。

編集 削除