macos – 如何在Mac中向外部进程发送事件或消息?

macos – 如何在Mac中向外部进程发送事件或消息?,第1张

概述在 Windows中,我可以将自定义消息发布到另一个进程并通知它执行以下 *** 作: PostMessage(WindowOfAnyProcess, WM_CUSTOM_MESSAGE, param1, param2) Mac OS上有哪些替代方案? Carbon Events对我有帮助吗?怎么样? 谢谢. 假设这两个进程都属于您,您可以使用 NSDistributedNotificationCente 在 Windows中,我可以将自定义消息发布到另一个进程并通知它执行以下 *** 作:

PostMessage(WindowOfAnyProcess,WM_CUSTOM_MESSAGE,param1,param2)

Mac OS上有哪些替代方案? Carbon Events对我有帮助吗?怎么样?
谢谢.

解决方法 假设这两个进程都属于您,您可以使用 NSDistributedNotificationCenter向每个进程发送通知和数据.

为此,请执行以下 *** 作:

[[NSdistributedNotificationCenter defaultCenter] postNotificationname:@"HelloFromProcessOne" object:nil]

如果要包含可以使用的数据:

[[NSdistributedNotificationCenter defaultCenter] postNotificationname:@"HelloFromProcessOne" object:nil userInfo:[NSDictionary dictionaryWithObject:@"some info here" forKey:@"data"]]

应该补充说明:
沙盒应用只有在不包含字典时才能发送通知.如果发送应用程序位于App SandBox中,则notificationInfo必须为nil.这意味着,如果您打算定位Mac AppStore,则无法提供通知信息.

要使应用程序接收通知,请执行以下 *** 作:

[[NSdistributedNotificationCenter defaultCenter] addobserver:self selector:@selector(someNotificationUpdate:) name:@"HelloFromProcessOne" object:nil]

someNotificationUpdate:将被声明为:

- (voID)someNotificationUpdate:(NSNotification *)note;
总结

以上是内存溢出为你收集整理的macos – 如何在Mac中向外部进程发送事件或消息?全部内容,希望文章能够帮你解决macos – 如何在Mac中向外部进程发送事件或消息?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1001219.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-21
下一篇2022-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存