Objective c 目标相当于AppleScript:打开目录而不使每个查找器窗口从
这是苹果书Objective c 目标相当于AppleScript:打开目录而不使每个查找器窗口从,objective-c,cocoa,applescript,finder,Objective C,Cocoa,Applescript,Finder,这是苹果书 tell application "Google Chrome" to set index of window 1 to 1 do shell script "open /Volumes" 它可以在Finder中打开一个目录,而不需要将每个Finder窗口放在前面 目前我正在使用: [[NSWorkspace sharedWorkspace] openURL:fileURL]; 但是它有一个缺陷,就是把每一个Finder窗口置于其他窗口之上 你知道我怎样才能达到与Appl
tell application "Google Chrome" to set index of window 1 to 1
do shell script "open /Volumes"
它可以在Finder中打开一个目录,而不需要将每个Finder窗口放在前面
目前我正在使用:
[[NSWorkspace sharedWorkspace] openURL:fileURL];
但是它有一个缺陷,就是把每一个Finder窗口置于其他窗口之上
你知道我怎样才能达到与AppleScript相同的行为吗 如果Cocoa没有提供您想要的功能,您可以始终使用Objective-C运行applescript代码。猜测,
-[NSWorkspace openURL::
也会向应用程序发送激活事件,而打开过程则不会
我建议您研究一下API。这是NSWorkspace
和open
在幕后使用的,但它比NSWorkspace
有限的API提供了更多的控制
--
p、 如果您确实必须从ObjC调用open
(或任何其他命令行工具),则应使用Cocoa的NSTask
。(AppleScript的do shell script
命令只是它的[crapy]等价物NSTask
)我知道,但是我们正在寻找一些不调用AppleScript的东西。如果NSWorkspace
没有提供只打开一个窗口而不使每个查找器窗口都聚焦的方法,那么我怀疑你能用Cocoa做到这一点。如果您不想求助于applescript,那么您可以始终使用代码注入,但对于这样一个简单的任务来说,这似乎太过分了。