开发一个在.NET后台运行的程序?

Som*_*ody 25 .net c#

我在C#中创建了一个小程序,我希望在后台运行它,它只应在按下某个键组合时出现.我怎样才能做到这一点?

gah*_*cep 20

至少有三种方法可以做到这一点:

  • 经典Windows服务应用程序." 在C#创建基本的Windows服务 ",从CodeProject上的文章将帮助您.在这种情况下,您使用System.ServiceProcess名称空间 顺便说一句,在这种情况下,您应该阅读MSDN中的" System.ServiceProcess命名空间 "一文.这是一个简短的引用:

    System.ServiceProcess命名空间提供允许您实现,安装和控制Windows服务应用程序的类.服务是长时间运行的可执行文件,无需用户界面即可运行.

  • 记忆驻留计划.但这对C#来说几乎是不可能的.如果需要,可以使用C++或更好的C来实现此目的.如果您想自己搜索,只需使用关键字TSR.

  • 最后一个是脏的.只要创建一个无形的C#应用程序,并尝试隐藏从任务管理器了.

  • 否,但您可以创建单独的 GUI 应用程序来与服务互连 (2认同)

mag*_*gol 11

在我看来,让程序完全不可见是一个坏主意.然后用户无法与程序集成.我建议将它放在SysTray中(Windows中的时钟图标)

    trayIcon      = new NotifyIcon();
    trayIcon.Text = "My application";
    trayIcon.Icon = TheIcon

    // Add menu to tray icon and show it.
    trayIcon.ContextMenu = trayMenu;
    trayIcon.Visible     = true;

    Visible       = false; // Hide form window.
    ShowInTaskbar = false; // Remove from taskbar.
Run Code Online (Sandbox Code Playgroud)

要监视键盘,可以使用LowLevel Keyboard挂钩(参见示例)或附加hootkey(参见示例)


小智 6

创建一个Windows窗体应用程序,并删除Form 1

将program.cs修改Application.Run(new Form1());Application.Run();