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

解決


ss  2012-08-28 09:06:35  No: 42832

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

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


au  2012-08-28 18:13:38  No: 42833

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


ss  2012-08-29 07:26:25  No: 42834

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


ss  2012-08-30 05:09:09  No: 42835

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-30 06:58:18  No: 42836

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


ss  2012-08-30 07:15:25  No: 42837

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加