问题标签 [macos-carbon]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
114 浏览

c++ - 谁能告诉我有关在 Mac 上切换前端进程时的事件处理程序或回调?

我需要有回调或一些可以帮助我的事件处理程序,知道前端流程已更改。

Mac:C++/碳。非常感谢任何帮助。

0 投票
1 回答
177 浏览

macos - 获取应用程序的路径

我正在使用以下代码来获取应用程序的路径。它适用于所有情况,但不适用于前排。

我期待来自 Applications 文件夹的应用程序路径,但它来自 /system/coreservices/..

这发生在 /system/library/coreservices/.. 中的所有项目上。

有没有它不应该在 /system/library/coreservices.. 或任何更好的解决方案中查找?谁能帮我?

提前致谢。

0 投票
2 回答
312 浏览

macos - 用户手动关闭系统时的事件处理程序

当关闭消息发送到系统时,我需要一个事件处理程序。任何人都可以帮忙吗?

当我们尝试关闭系统时,如果任何对话框打开,则关闭过程终止。我不希望这发生在我的应用程序中。即,如果从我的应用程序中打开任何对话框并且我尝试关闭我的系统,那么它不应该阻止关闭过程。这种实现可能吗?

谢谢,拉胡尔

0 投票
1 回答
423 浏览

c - MPQueue - 它是什么以及如何使用它?

我遇到了一个让我打败的错误。幸运的是,我在这里找到了一个工作(不需要阅读来回答这个问题) -

http://lists.apple.com/archives/quartz-dev/2009/Oct/msg00088.html

问题是,我不明白这一切。我对事件点击等没问题,但我应该使用 MPQueue '设置一个线程安全队列),向其中添加事件稍后将它们拉回来。

谁能告诉我 MPQueue 是什么,以及我如何创建一个 - 以及如何添加项目和读取/删除项目?谷歌根本没有帮助。

0 投票
3 回答
1576 浏览

c++ - 关于在 Xcode 中使用 C++ 构建 MacOSX GUI 应用程序的指南、教程或书籍?

对于 GUI 应用程序,我的意思不仅仅是一个 Unix 命令行应用程序,而是整个 .app 包和一个完整的 Cocoa 或 Carbon 应用程序。
谢谢!

PS:我对 GUI 应用程序并不完全准确。
我的意思是一个带有窗口和菜单的应用程序,而不是 Unix 命令行应用程序。
实际上,我得到了一个关于在 MacOSX 上使用 SDL 和 OpenGL 进行编程的教程,它甚至还有 XCode 模板,这些模板附带了设置菜单所需的 ObjC,这正是我想要的。
谢谢!

0 投票
1 回答
499 浏览

macos - 使用 GetEventMonitorTarget() 时抑制默认事件处理程序

我有一个从 Apple事件处理示例中借用代码的应用程序。看起来像:

GetEventMonitorTarget() 就是为其他应用程序获取事件。但是从我读到的内容来看,该事件有点分叉,既发送到我的应用程序又发送到目标应用程序。因此,即使我从我的处理程序函数返回 noErr 以阻止默认处理程序执行应用程序,仍然也会处理该事件。

有没有办法抑制默认处理程序,或者更具体地说,目标应用程序处理事件?

0 投票
3 回答
3462 浏览

cocoa - 使用辅助功能 API 设置最前面的窗口

我想将来自外部应用程序(例如 textedit)的某个窗口设置为最前面。

我可以使用 GetFrontProcess 成功获取对应用程序本身的引用,并检查它是否在最前面。如果不是,我可以使用 setFrontProcess 使其集中。

然后,我可以使用辅助功能 API 检查该应用程序下的所有窗口。我正在检查某个窗口是否存在,如果存在,我将其与应用程序的最前面的窗口进行比较:

如果我感兴趣的窗口不在最前面,我需要这样设置。我以为我可以使用 AXUIElement Set AttributeValue 来做到这一点,但我没有取得任何成功。以下是我尝试过的方法。

我已检查该窗口是否存在,并且应用程序已成功“切换到”。但是为什么这行代码没有把指定的窗口带到最前面呢?

谢谢。

0 投票
1 回答
874 浏览

cocoa - 辅助功能 API - 将键盘焦点设置到特定元素

使用可访问性 API,我正在深入研究一系列元素并找到我感兴趣的特定 AXUIElementRef(全部在外部应用程序中)。如何检查此元素当前是否具有键盘焦点?如果没有,我该如何设置?

类似于使用 AXUIElementSetAttributeValue 将 kAXMainAttribute 设置为 true(这适用于窗口 - 感谢 Peter!)。

PS - 我试过 kAXFocusedAttribute,似乎没有做这项工作。也许它是只读的?

0 投票
2 回答
1327 浏览

cocoa - 如何存储(和使用)当前鼠标位置?

存储当前鼠标位置(系统范围)然后(稍后)将鼠标放在该存储点的最佳方法是什么?

[NSEvent mouseLocation]得到我的位置,我可以用 a 移动鼠标CGEventMouseMoved,但它们每个都使用不同的坐标系统(我相信 y=0 是 NSEvent 的顶部和 CGEvent 的底部)。

我担心捕获屏幕高度并使用它在两者之间转换的稳健性 - 或者这是最好的方法?

0 投票
2 回答
449 浏览

macos - Apple Carbon/CoreFoundation 风格指南?

Cocoa 有很好的文档,并且有很多关于以良好形式编写 Cocoa 代码的信息。我正在编写一些与硬件密切合作的代码,这要求我经常使用 CoreFoundation 和 Carbon API。是否有任何“风格”指南来理解 Apple 的 Carbon 和 CoreFoundation 等库?Apple 的示例代码中充斥着以下内容:

  • kSomeValue
  • CFMightDoSomething有用

我可以推断 CF 意味着 CoreFoundation 和 k 可能用于常量或枚举类型,但我想验证这一点并了解更多关于其他语法风格的信息。