将命令行传递给正在运行的应用程序

时间:2016-11-18 08:11:16

标签: macos qt

我尝试在Google上搜索我的问题的答案,但没有找到任何信息。所以我需要的是:我启动我的应用程序包。当应用程序运行时,我输入终端open /Application/MyApp.app --args <some_args>,运行的应用程序获得此<some_args>。有可能吗?

这是一个Qt5应用程序。最好的解决方案是Qt5-native。但任何Objective-C方式也都很好。

1 个答案:

答案 0 :(得分:0)

这样做的一种方法是在已经运行的应用程序实例和新启动的实例之间建立通信通道。

例如,应用程序可以在启动时创建QLocalServer并尝试listen()

如果可行则它是第一个实例,可以继续启动它。 如果没有,它可以打开QLocalSocket与已经运行的实例通信并发送其参数。已经运行的应用程序可以对传入连接做出反应,检索参数并处理它们。