在Windows 7中,我通过更改System.AppUserModel.ID来将窗口从任务栏上的一个组移动到另一个组(组按进程ID):https://msdn.microsoft.com/en-us/library/windows/desktop/dd391569%28v=vs.85%29.aspx
我现在正试图在Mac OS X中做同样的事情。
这是另一个应用程序的钩子,所以我无法控制代码,但是我可以自由地运行我需要的任何C代码。
我打开一个新的应用程序,LSUIElement
设置为1,因此没有停靠图标(但是如果我在没有LSUIElement
的情况下启动它,它会获得自己的停靠图标)。所以现在这有一个不同的进程ID。我想将此窗口移动到原始应用程序的停靠图标中。这可能吗?
我最诚挚的谢谢,我一直在努力解决这个问题,我研究setCollectionBehavior
无济于事。我还查看了dockTile
NSApplication
的属性,但是我无法弄清楚setDockTile
如何与另一个PID相同。
答案 0 :(得分:2)
这是不可能的。 OS X不像Windows那样工作。
中心组织原则是应用程序,而不是窗口。应用程序本质上是单个进程(在单独的进程中可以有帮助程序,但这不会反映在Dock或Command-Tab应用程序切换器中;帮助程序通常没有UI)。 Dock显示应用程序,而不是窗口组或类似的东西。
Windows的所有权也无法在应用程序之间传输。