我想设置一个特定的窗口,从一个外部应用程序(例如,textedit),是最前面。
我可以使用GetFrontProcess成功地获得对应用程序本身的引用,并检查它是否是最前面的。如果不是,我可以使用setFrontProcess使其聚焦。
然后,我可以使用可访问性API来检查该应用程序下的所有窗口。我正在检查某个窗口是否存在,如果存在,则将其与应用程序最前面的窗口进行比较:
//get the front window of textEditApp and store it in 'currentFrontWindow'
AXUIElementCopyAttribute
有没有一种方法可以使用Swing或AWT创建一个在Mac OS X上行为和外观都像检查器窗口的窗口?检查器窗口的一个示例是按下Command-Option-I时在查找器中打开的窗口。
我正在寻找一种方法来创建一个窗口,有一个半高的标题栏,始终留在顶部,这不会获得焦点,例如,当拖动。
该解决方案只需要在Mac上运行,因此允许使用特定于平台的库。但如果有一种标准的方法,如果它有一些小缺点,那就更好了。
我正在尝试从我的应用程序控制一个国外OSX应用程序的窗口。我想1.移动屏幕上的窗口2.调整屏幕上窗口的大小3.更改应用程序当前活动的窗口4.获取当前活动的窗口。
(我想通过ObjC/C/C++ apis来实现这一点)。
考虑到我有想要控制的窗口的CGWindowID,我应该寻找哪些API调用?也就是说,我希望找到具有如下签名的函数:MoveWindow(CGWindowID winId, int x, int y),ResizeWindow(CGWindowID winId, int width, int height),Activatewindow(CGWindowID winId),CGW
我想激活一个非脚本应用程序的特定窗口,并决定只使用XCode作为示例。这里有一个设置:
启动Xcode,打开一些项目(我打开了抓取之子)双击源文件打开源代码窗口(在我的例子中是Controller.m)Select
- at this point you'll have three Xcode windows, a project (main) one, the Organizer, and a source window.
聚焦源代码(在我的例子中也是Controller.m )窗口。试图在脚本中聚焦“组织者-文档”窗口;我的简单方法是:
告诉应用程序"Xcode“激活窗
我有一个vb.net程序,它打开一个excel工作簿,并在单击按钮时运行该工作簿中的宏(“报告”)。
//Workbook with macro and form
xlWorkbook = xlApp.Workbooks.Open("W:Data\Excel Program.xls")
//Macro:
xlApp.Run("Report")
//Macro opens form from workbook. I browse for my two .csv files
//and then click a button to run
我的appleScript需要一些帮助。
对于所有打开的窗口,我想知道哪个是隐藏的(在码头中),哪个是可见的,哪个是聚焦的?
要列出我使用的窗口:
tell application "System Events"
set procs to processes
set windowName to {}
repeat with proc in procs
try
if exists (window 1 of proc) then
repeat with w in windows of p
我试图保存我在Safari中打开的URL的网页内容为PDF。我通过Automator成功地实现了这个目标,但是我想要一个AppleScript来完成这个任务。
下面是我试图运行的脚本,它向我抛出了一个错误:
error "System Events got an error: Can’t set window \"Save\" to \"~/Desktop/Reports/\"." number -10006 from window "Save"
我采取了以下步骤:
为“另存为PDF”创建了一个快捷方式打开了Safari,其中包含
我正在尝试通过ScriptingBridge获取最前面的、活动的Safari窗口(Safari5.2在山狮开发人员预览2中运行)的URL,但是无法找到任何属性来确定窗口是否是前面的窗口。
SafariApplication *safari = [SBApplication applicationWithBundleIdentifier:@"com.apple.Safari"];
for (SafariWindow *window in safari.windows) {
if ([window visible]) {
// Top most, activ
我创建了一个在Automator中切换键盘查看器的代码。
on run {input, parameters}
if application "KeyboardViewer" is running then
quit application "KeyboardViewer"
else
activate application "KeyboardViewer"
end if
return input
end run
但是,键盘查看器变成了当前运行的窗口,我不能立即开始键入(我必须切换回
我正在用以下方法注册我的班级:
BOOL CNDSClientDlg::InitInstance()
{
//Register Window Updated on 16th Nov 2010, @Subhen
// Register our unique class name that we wish to use
WNDCLASS wndcls;
memset(&wndcls, 0, sizeof(WNDCLASS));
wndcls.style = CS_DBLCLKS | CS_HREDRAW | CS_VREDRAW;
wndc
这是我想要做的:
IF file is already present in a finder window
tell finder to update...
ELSE
tell finder to reveal...
有没有办法确定有问题的文件是否已经显示在当前的Finder窗口中?我不想最终创建一个副本。