当前位置: 首页 > 面试题库 >

获取Mac OS X中当前活动的窗口/文档的标题

缑永年
2023-03-14
问题内容

参考先前提出的问题,我想知道如何获取当前活动文档的标题。

我尝试了上述问题的答案中提到的脚本。这有效,但仅给我应用程序的名称。例如,我正在写这个问题:启动脚本时,它将为我提供应用程序的名称,即“
Firefox”。这很干净,但并没有真正的帮助。我想记录我当前活动文档的标题。看到图像。

Firefox标题http://img.skitch.com/20090126-nq2egknhjr928d1s74i9xixckf.jpg

我正在使用Leopard,因此不需要向后兼容。另外,我正在使用Python的Appkit来访问NSWorkspace类,但是如果您告诉我Objective-
C代码,则可以弄清楚对Python的翻译。

好的,我有一个不是很令人满意的解决方案,这就是为什么我没有标注Koen Bok的答案。至少还没有。

tell application "System Events"
set frontApp to name of first application process whose frontmost is true
end tell
tell application frontApp
if the (count of windows) is not 0 then
    set window_name to name of front window
end if
end tell

另存为脚本,并从外壳中使用osascript调用它。


问题答案:

据我所知,最好的选择是包装AppleScript。但是AppleScript对我来说是神奇的,因此我将其作为发问者的练习:-)

这可能会有所帮助:调整前两个窗口大小以填充屏幕的脚本-Mac OS
X提示



 类似资料:
  • 问题内容: 我正在尝试获取活动窗口的标题。该应用程序是一个后台任务,因此如果用户打开Eclipse,该函数将返回“ Eclipse- blabla”,因此它不会获取我自己窗口的窗口标题。我正在使用PyQt4在Python 2.6中进行开发。 我当前的解决方案是从SO的旧答案中借用并稍作修改的,看起来像这样: 它适用于大多数窗口,但不是全部。例如,它找不到我的kopete聊天窗口,或者找不到我当前正

  • 问题内容: 情况如下: 在线程中触发事件。 需要检索当前活动。 然后在该活动上创建一个对话框并显示。 问题:据我搜索,还没有办法在前台检索当前活动。 额外信息:这需要能够在多个活动中进行处理。因此,它可以在活动A或B或C中弹出。 问题答案: 我不确定这是否是您要寻找的东西,但这似乎很简单。http://iamvijayakumar.blogspot.com/2011/09/get- current

  • 问题内容: 我试图用Java升级我的应用程序,使其仅在具有特定名称的进程窗口处于活动状态时才能工作。我发现使用JNI可以做到这一点,但是我不知道该怎么做。我只是找不到任何可以解释它的描述或示例。我的问题是- 如何获取Windows中当前活动窗口的进程名称(通过JNI或其他方式-我接受任何其他解决方案)? 问题答案: 减轻您的痛苦,并使用JNA。您将需要下载 Win32 API的 jna.jar 和

  • 对于SDI程序,主框架窗口就是文档框窗,可以采用以下方法取得当前文档和视图: 取得活动文档: CMyDocument* pDoc; pDoc=(CMyDocument*)((CFrameWnd*)AfxGetApp()->m_pMainWnd) ->GetActiveDocument(); 或 pDoc=(CMyDocument*)((CFrameWnd*)AfxGetMainWnd()); 这两

  • 问题内容: 有没有一种方法可以使用Python在Mac OS X上的给定时间查找当前活动窗口的应用程序名称? 问题答案: 这应该工作: 仅适用于Leopard,如果安装了PyObjC,并且仅在第一行中指向正确的python二进制文件,则在Tiger上工作(如果您已经安装了通用MacPython,则可能要在Tiger上这样做)。但是Peter用Carbon的方式做这件事的答案可能会快很多,因为从Py

  • 它可能得到当前的活动选项卡在火狐使用硒?我创建的应用程序是半自动的(用户正在打开标签,如果他想转储其中一个,他只是点击热键)。 但我有问题,当用户打开多个标签,我需要知道哪一个我应该切换到转储网站。