我正在尝试使用Quicktime打开视频文件,然后将其关闭。 [NSWorkspase openfile:path withapplication:@"Quick Time Player"]
视频文件正常打开。但是,当我试图关闭Quicktime窗口时,没有任何反应。这是代码。
NSMutableArray *titles = [[NSApplication sharedApplication] orderedWindows];
int i;
id obj;
NSMutableString *mystring;
for(i=0; i< [titles count]; i++)
{
obj = (NSWindow*)[titles objectAtIndex:i];
mystring = [obj title];
if([mystring isEqualToString:@"PREVIEW"] == 1 )
{
[obj close];
}
//NSLog("Title : %@\n",(NSString*)[obj title]);
}
如果任何人能帮助我,我将不得不承担责任。
答案 0 :(得分:1)
答案 1 :(得分:1)
嘿我发现了解决方案,可以通过Apple Scripting轻松完成,下面是脚本
tell application "QuickTime Player"
repeat with d in documents
if name of d is "abc.mp4" then
close d
end if
end repeat
end tell
它简单易行。此脚本会出错,但它会执行所需的任务。它将首先获取应用程序QuickTIme Player的控制权,然后迭代以找到标题为abc.mp4的窗口,并最终将其关闭。
答案 2 :(得分:0)
这不起作用,因为orderedWindows
仅返回应用程序中的窗口。无法从QuickTime Player等其他应用程序访问NSWindow
对象。
要做到这一点,你必须使用AppleEvents。发送它们的方法有很多种,但最简单的方法可能是ScriptingBridge。这是一个非常好的tutorial。