1

現在、自分のプログラムでファイルを開くと、NSOpenPanel のサイドバーでサーバー名をクリックしてからファイルを選択することで、サーバー上のファイルを選択できます。問題ありません。共有ディレクトリがマウントされている限り、これはファイルの使用に問題なく機能します。「/Volumes/SHARENAME/filename.bla」のようなパスを取得します。

私の質問は、元のコンピューターのサーバー ホスト名を取得する方法です。たとえば、NSOpenPanel の [Shared] の下にある SERVERNAME という名前のデバイスをクリックした場合、「/Volumes/SHARENAME/filename.bla」から SERVERNAME を取得するにはどうすればよいですか。

私はかなりのドキュメントを見てきましたが、この問題の解決策を見つけることができませんでした。

これに対する助けは大歓迎です。ありがとうございました。

4

1 に答える 1

0

これは Objective-C の方法ではありませんが、popen(..)get を使用すると、UNIX コマンドから解析できる情報を取得できる場合があります。

#include <stdio.h>
#include <string.h>

int main() {
  FILE *fp = popen("df", "r"); // see man page for df
  if (fp) {
    char line[4096];
    while (line == fgets(line, 4096, fp)) {
      if (strstr(line, "/Volumes/SHARENAME")) { // You need the mount point
        char host[256];
        sscanf(line, "%s", host);
        printf("Connected: %s\n", host);
      }
    }
    pclose(fp);
  }
  return 0;
}
于 2010-04-05T18:52:39.577 に答える