【发布时间】:2011-05-23 19:30:16
【问题描述】:
我希望将我的一个 C# 应用程序转移到 Mono 以在 Mac 上使用。目前,我正试图弄清楚如何使它成为一种“后台”进程,但仍然能够拥有 GUI 元素(我相信这排除了mono-service)。
最终目标是这样的:
- 为大多数交互设置一个托盘图标。
- 删除启动应用程序通常附带的停靠图标
- 让应用程序在启动时运行。
简而言之,想想Dropbox 应用程序的工作原理。我想要那种类型的 GUI,但要使用 Mono / Mac 应用程序。
我相信这通常是通过在应用程序包的 Info.plist 中设置 LSUIElement = 1 来完成的。但是,我没有运气。我认为这可能与从应用程序包中启动我的应用程序的mono 命令有关。一旦应用程序启动mono 我假设它不会级联到进一步的应用程序启动。不过,这纯粹是猜测。
有人对此有任何想法吗?谢谢。
【问题讨论】:
-
如果您提到您正在使用的工具包,您可能会取得更大的成功。
-
我尝试使用 GTK#。不过我认为这是不可能的。
-
您可能想改用 MonoMac。与使用 GTK# 相比,您将拥有更多可用的原生 Mac OS X 挂钩。
-
如果我今天重新审视这个问题,我可能会把它分成两个不同的应用程序。 1)状态栏的程序和2)与状态栏(后台服务)通信的程序。这可能会解决我近 8 年前遇到的问题。
标签: c# macos mono background system-tray