2

是否有一个 Coca/obj-C API 调用来模拟 Finder 中的“连接到服务器”操作?使用 Automater 是可能的,因此 Finder 似乎在某处有一个钩子。

4

3 回答 3

4

原来有一个旧的 Carbon 函数(找不到可可等效项)调用FSMountServerVolumeSync它可以满足我的要求。您可以提供smb://URL 和登录凭据。

文件管理器参考

OSStatus FSMountServerVolumeSync (
  CFURLRef url,
  CFURLRef mountDir,
  CFStringRef user,
  CFStringRef password,
  FSVolumeRefNum *mountedVolumeRefNum,
  OptionBits flags
);
于 2010-10-31T18:38:53.257 回答
3

一个简单的方法是运行一些applescript 代码。我会告诉你2个选择。第一个是从 applescript 显示 Finder 窗口的标准方式。

NSString* cmd = @"choose URL";

生成的窗口虽然是简单的,所以您实际上可以使用此命令打开 Finder 的窗口...

NSString* cmd = @"tell application \"Finder\" to activate\ndelay 0.2\ntell application \"System Events\" to keystroke \"k\" using command down";

选择任一“cmd”字符串后,您可以使用以下命令执行该 AppleScript 代码...

NSAppleScript* theScript = [[NSAppleScript alloc] initWithSource:cmd];
[theScript executeAndReturnError:nil];
[theScript release];
于 2010-08-01T22:36:15.017 回答
1

这可能不是最好的方法,但你不能使用mount吗?

于 2010-07-30T18:42:53.947 回答