有没有办法区分应用程序是在登录时由启动服务启动还是由用户启动? [复制]

2024-01-08

Cocoa 应用程序可以将自己添加到LSSharedFileList的登录项目列表。这将允许应用程序在用户登录时启动。但是,有没有办法判断用户是启动应用程序还是应用程序在登录时自动启动?这很有用,因为在一种情况下,我们可以在另一种情况下显示用户界面,我们可以隐藏 UI 并在后台将应用程序作为菜单栏应用程序运行。


这是一些代码。我不确定它会为登录项返回什么,但如果您尝试并发表评论,我会更新帖子。它确实返回com.apple.Finder对于查找器和com.apple.dt.Xcode对于 Xcode。

+ (NSString *) bundleIdentifierOfParentProcess {
    NSString *result = nil;
    ProcessSerialNumber psn = {0, 0};
    if (0 == GetCurrentProcess(&psn)) {
        ProcessInfoRec myProcessInfo;
        myProcessInfo.processInfoLength = sizeof(ProcessInfoRec);
        myProcessInfo.processName = NULL;
        myProcessInfo.processAppRef = NULL;
        if (0 == GetProcessInformation(&psn, &myProcessInfo)) {
            ProcessSerialNumber parentPSN = myProcessInfo.processLauncher;
            CFDictionaryRef parentProcessInfo =
            ProcessInformationCopyDictionary(&parentPSN,
                                             kProcessDictionaryIncludeAllInformationMask);
            if (parentProcessInfo) {
                result =
                [(__bridge NSDictionary *) parentProcessInfo objectForKey:
                (__bridge id) kCFBundleIdentifierKey];
                CFRelease(parentProcessInfo);
            }
        }
    }
    return result;
}

parentProcessInfo是一个充满值的字典,如果包标识符不够有意义,这也可能会有所帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法区分应用程序是在登录时由启动服务启动还是由用户启动? [复制] 的相关文章

  • 无法使 csshX 在 Mac OS Big Sur 上运行

    csshX不适用于 Mac Big Sur 未实现 POSIX tmpnam 在 System Library Perl 5 28 darwin thread multi 2level POSIX pm 第 185 行使用 File Tem
  • 如何从 os x 终端启动屏幕保护程序(并锁定屏幕)?

    有没有办法从 bash 脚本启动屏幕保护程序 并锁定屏幕 你试过这个吗 System Library Frameworks ScreenSaver framework Resources ScreenSaverEngine app Cont
  • 开发者可以在 Windows 应用程序中使用 iCloud 吗?

    开发人员可以使用 Apple 的 iCloud API 在 Mac OS X 和 iOS 上的不同版本的应用程序之间同步应用程序数据 如果开发人员拥有 Windows 版本的应用程序 该版本是否也可以使用 iCloud 将应用程序数据与 M
  • 导入 matplotlib.pyplot 时出错

    当我跑步时import matplotlib pyplot as plt 我收到以下错误消息 ImportError Traceback most recent call last
  • 如何在 swiftUI (macOS) 中检测按键按下和释放

    除了标题之外没什么可说的 我希望能够在按下按键和释放按键时 在 macOS 上 在 swiftUI 视图中执行操作 在 swiftUI 中是否有任何好的方法可以做到这一点 如果没有 有什么解决方法吗 不幸的是 键盘事件处理是其中一个令人痛苦
  • .profile 无法从 Mac 终端运行

    我有一个 profile 文件 我正在终端中读取并使用别名 但在某些时候 别名由于没有明确的原因而停止工作 其他命令仍在工作 为了快速修复 我删除了 rm 并在用户目录中重新创建了 profile 文件 我可以看到 至少在该目录中没有 ba
  • 所有平台上的java

    如果您想用 java 为 Windows Mac 和 Linux 编写桌面应用程序 那么所有这些代码都相同吗 您只需更改 GUI 即可使 Windows 应用程序更像 Windows 等等 如果不深入细节 它是如何工作的 Java 的卖点之
  • OSX bash 最小化窗口

    在 Mac 中并使用 bash shell 我想执行一个包含单个命令 启动 Jupyter Lab 的文件并立即最小化终端窗口 有没有办法在不安装第三方软件的情况下做到这一点 是的 只需使用osascript https ss64 com
  • 如何在 MacBook Pro 上的 Docker 容器内运行 tkinter?

    我正在尝试运行一个使用以下命令的 python GUI 应用程序tkinter我的 MacBook Pro 上的 docker 容器内的模块 所以我安装了XQuartz https www xquartz org 并跟随本教程 https
  • 在 Mac 上使用 Eclipse 进行 C++ 调试器

    当我最终设置我的 mac 来使用 eclipse 后 我无法调试 我尝试通过谷歌寻求帮助 但没有一个答案对我有用 所以 我需要有人帮助我在 eclipse 上安装和使用 c c 调试器 我安装了 Xcode 5 0 感谢您的帮助 Roy 您
  • C++ 是否可以在 MacOS 上与 OpenMP 和 boost 兼容?

    我现在已经尝试了很多事情并得出了一些结论 也许 我监督了一些事情 但似乎我无法完成我想要的事情 问题是 是否有可能使用 OpenMP 和 boost 在 MacOS High Sierra 上编译 C 一些发现 如果我错了请纠正我 Open
  • 确定 NSView 是否绘制的正确方法

    有没有正确的方法来确定是否NSView实际上是否在当前视图层次结构中绘制 考虑以下情况 视图完全在屏幕外 不是强制性的 该视图不在视图层次结构的顶部 The isHidden and isHiddenOrHasHiddenAncestor不
  • 当所选选项是下拉列表中已选择的选项时如何接收事件?

    动机 我想动态加载一个select使用来自 AJAX 调用的值 并允许用户select加载后列表中的第一项after它获得焦点 现在 第一项是selected项目 当您单击下拉列表并单击第一项时 什么也没有发生 我无法添加任何无效选择的占位
  • Swift 中带圆角的 NSWindow

    我想要一个圆角的窗户 但我在每个角落都有一个白点 Code let effect NSVisualEffectView frame NSRect x 0 y 0 width 0 height 0 effect blendingMode be
  • 避免“在此块中强烈捕获自身可能会导致保留周期”消息

    每次我必须在块内使用全局变量或属性时 如下所示 self save if isItSaving NO self saveMyFile 我必须像这样重写 BOOL iis isItSaving id myself self self save
  • Mac 上用户“postgres”的密码身份验证失败

    我在创建新的 psql 用户时遇到问题 因为我无法以 postgres 身份登录 psql 我已尝试过 1 sudo u postgres psql 2 sudo u postgres createuser img site P s e 他
  • XCode 4.2.1 在 Lion 10.7.2 上启动时崩溃

    这周我买了大约 10 年来的第一台 Mac 是的 这是一台二手 Mac Pro 2x2GHz 双核 Xeon 2GB RAM 它全新安装了 Mac OS X Lion 10 7 2 我只安装了 OmniOutlner Pro Textmat
  • 如何让 mod_wsgi 在 Mac 上运行?

    几个小时以来 我一直在尝试在 Mac 上安装最新版本的 mod wsgi 3 3 我使用的是 Snow Leopard 并且有系统附带的 Apache Apache 2 2 15 和 Python 2 6 1 r261 67515 版本 我
  • Mac OS 上的诗歌安装失败,显示“should_use_symlinks”

    我正在尝试使用以下命令安装诗歌 curl sSL https install python poetry org python3 但它失败了 但有以下例外 例外 此版本的 python 无法在不使用符号链接的情况下创建 venvs 下面是详
  • macOS Pluginkit 输出中的前缀是什么意思?

    执行中pluginkit match在终端中产生以下输出 跳过不重要的行 com apple ncplugin weather 1 0 com apple share SinaWeibo post 1 0 H com apple Inter

随机推荐

  • 找不到关键字参数 '{'pk': ''}' 的反向 'plan_edit'。尝试了 1 个模式:['palan/edit$']

    我收到以下错误 找不到关键字参数 pk 的反向 plan edit 尝试了 1 个模式 palan edit 有谁知道如何解决它 urls py urlpatterns url r views post list name post lis
  • Android Studio - 检查代码 - 排除生成的文件

    有什么办法 如何排除 android 生成的文件 或手动指定排除的文件夹 分析 gt 检查代码 使用自定义范围 单击 分析 gt 检查代码 后 在 指定检查范围 对话框中 单击 自定义范围 后的 定义一个新的范围 递归包含Android a
  • 什么时候应该使用实体框架?

    我是实体框架的新手 当然 我在 SOF 上发现了一些关于目标用例的问题 让我给你一些信息 我不与不同的数据库供应商或不同的数据库打交道 一台 而且只有一台 SQL Server 2008 数据库的表少于 30 个 我真的需要重做事情并使用实
  • Multer 文件缓冲区丢失

    从以下返回的 req file 属性不包含缓冲区属性 https www npmjs com package multer https www npmjs com package multer 因此 当我尝试访问 req file buff
  • 使用 Android AccountManager 获取 gdata 的 authtoken

    所以我试图同步到谷歌文档 而不必询问用户的凭据 我使用此代码来获取身份验证令牌 AccountManager mgr AccountManager get activity authToken mgr blockingGetAuthToke
  • Mac 上的 JFileChooser 看不到中文字符命名的文件?

    该程序在Intellij中运行时运行良好 可以看到中文命名的文件 我将其构建到 jar 文件中 执行了 jar 和JFileChooser无法看到那些文件 我在 Windows 中尝试了该 jar 它工作得很好 这个文件在 Mac OS X
  • PDO——真实的事实和最佳实践? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 通过 HTML 代码在 UIView 中使用透明背景色

    我正在尝试在 UIView 中显示广告 我需要将背景颜色设置为透明 我尝试使用 viewObject setBackgroundColor UIColor clearcolor 尽管它使 UIView 透明 但它显示白色背景 下面是我尝试过
  • 当 QProcess 需要用户输入 Qt 时如何读取

    我使用 Qt 来实现一个允许开发嵌入式系统的接口 我面临一个问题 为了将程序闪存到嵌入式系统中 我使用 QProcess 以便使用命令 make 和 make flash 保证没有任何问题 程序编译成功 但是当我尝试对 make flash
  • Overlay.draw() 调用多次

    我有一个关于draw 的方法OverlayAndroid 地图中的类 移动地图时的方法draw 接到几次电话 从 4 次到 13 次 这对我来说是个问题 因为这个方法必须用 70000 点重新绘制我的路线 这是很多资源 我找不到这个问题的描
  • .NET 垃圾收集器之谜

    在我的工作中 我们遇到了 OutOfMemoryExceptions 问题 我编写了一段简单的代码来模仿某些行为 最终得到了以下谜团 看看这段简单的代码 当内存不足时 它就会崩溃 class Program private static v
  • 高分子纸波纹

    我试图在按下按钮时更改元素的颜色 我希望当按下按钮并且颜色发生变化时在该元素中触发纸张波纹效果 我该怎么做呢 目标元素
  • 充当文件上传的div?

    我只是想上传或浏览 div 本身 就像作为文件输入并触发其功能 但我的问题是我对 java 脚本很陌生 并且为自己集思广益近一个小时并寻找互联网上同样的问题 所以我别无选择只能在这里提问 my code div style border 1
  • Android AsyncTask 与进度对话框取消

    在我的android应用程序中 我使用带有进度对话框的AsyncTask 请等待登录 来使用我的网页 异步任务内的Web服务功能 登录用户 当用户单击设备上的 后退 按钮时 我想关闭进度对话框并取消 AsynTask 我找不到用于中断 As
  • Swift - 从 JSON 响应创建数据模型

    我正在学习 Swift 语言 很高兴听到其他人输入的内容之一是 如何处理来自 JSON 响应的模型 例如 I have User swift model class User NSObject var user token String v
  • 自动分配spring的bean名称以防止名称冲突?

    在Spring应用程序中 如果两个程序员开发两个包 将 Repository注释为相同的类名 Spring将抛出 IllegalStateException 注解指定的bean名称 mybean 代表 bean 类 foobar packa
  • 如何从 URL 方案中获取参数。

    我在我的 iPhone 应用程序中使用 URL 方案 从一个页面将用户切换到 safari 然后从网页单击一个按钮 我将恢复到应用程序 此时 一些参数是由网页传递的 例如 myapp parameter 1 如何从我的应用程序中找到此参数
  • jQuery.ajax -always() 并不总是运行

    我正在使用 jQuery ajax 进行 REST 调用并检索一些 JSON 它按预期工作 但是 当我强制出现错误条件 例如无效 URL 时 always 方法不会触发 如果我设置 crossDomain false 或 dataType
  • Linux 文件 IO - 多线程性能 - 写入不同的文件

    我目前正在开发一个音频录制应用程序 该应用程序从网络获取最多 8 个音频流并将数据保存到磁盘 简化的 现在 每个流都由一个线程处理 gt 同一线程还在磁盘上执行保存工作 这意味着我有 8 个不同的线程在同一磁盘上执行写入操作 每个线程写入不
  • 有没有办法区分应用程序是在登录时由启动服务启动还是由用户启动? [复制]

    这个问题在这里已经有答案了 Cocoa 应用程序可以将自己添加到LSSharedFileList的登录项目列表 这将允许应用程序在用户登录时启动 但是 有没有办法判断用户是启动应用程序还是应用程序在登录时自动启动 这很有用 因为在一种情况下