C#如何在桌面上运行应用程序?

时间:2011-11-18 15:42:10

标签: c# windows desktop

是否可以在Windows桌面上运行应用程序?我的意思是......它只能在系统托盘中看到,它应该能够在桌面旁边运行。 我不知道如何编码,请帮助我。我对这些事情有点新意,我应该创建类似“Stardock Fence”的东西。

我已经看过一些例子,但是它们看起来很麻烦,我可以使用任何强有力的替代方案吗?

5 个答案:

答案 0 :(得分:1)

Process.Start()可用于从另一个win应用程序启动Windows应用程序/控制台应用程序。有些参数允许您选择性地隐藏UI。

答案 1 :(得分:1)

您希望应用程序的窗口始终在底层。换句话说,您的用户界面将始终显示在任何其他打开的窗口下方,位于桌面图标上方。

要完成此操作,请参阅these相关questions

如果您的窗口始终位于z顺序的底部,您可能希望删除非客户端窗口镶边(标题栏/最小/最大/关闭按钮),以便您的UI看起来像桌面的一个更集成的部分。周围有很多例子;谷歌搜索留给读者练习。

答案 2 :(得分:0)

您想在后台运行您的应用程序吗?它是在Windows机器上吗?如果是这样,那么您希望将应用程序作为Windows服务运行。这是一个msdn链接:

Introduction to Windows Services

我认为文章中有一些例子 - 如果不是,这是一个很好的起点。您可以将服务配置为在启动机器等时自动启动。然后,您的应用程序将在后台运行。

基本上,你正常地将你的应用程序放在一边,然后将它托管在一个Windows服务中,而不是说一个控制台应用程序或一个winforms应用程序。

答案 3 :(得分:0)

不完全确定你的背景是什么意思。我希望你的意思是Windows Service这是visual studio中的项目类型,或者你可能(不太可能)意味着运行后台线程。

答案 4 :(得分:0)

实际上,如果你想在系统托盘中使用它,你不需要它完全在后台。

如果要完全“在后台”,那么最好的办法是将其作为服务。

系统托盘图标需要一个窗口,但您可以将其设置为不可见且非任务栏,这很好。

一个常见的组合是一个执行实际繁重工作的服务,一个带有系统托盘图标的隐藏窗口应用程序,用于报告服务的状态(可能在需要进一步交互时使相同的窗口可见)。