在Windows服务安装程序中设置"与桌面交互",可以通过以下步骤实现:
Program.cs
文件,并打开它。Main()
方法中,找到ServiceBase.Run(ServicesToRun)
这一行代码。ServiceBase.Run(ServicesToRun.Select(service => new MyService(service)).ToArray())
。MyService
。MyService
类中,添加以下代码:using System.ServiceProcess;
using System.Windows.Forms;
public class MyService : ServiceBase
{
private readonly ServiceBase _service;
public MyService(ServiceBase service)
{
_service = service;
}
protected override void OnStart(string[] args)
{
_service.OnStart(args);
}
protected override void OnStop()
{
_service.OnStop();
}
public override void OnSessionChange(SessionChangeDescription changeDescription)
{
base.OnSessionChange(changeDescription);
if (changeDescription.Reason == SessionChangeReason.RemoteConnect || changeDescription.Reason == SessionChangeReason.ConsoleConnect)
{
// 在此处编写与桌面交互的代码
MessageBox.Show("服务已连接到桌面");
}
}
}
MyService
类中的OnSessionChange
方法中,编写与桌面交互的代码。通过以上步骤,您可以在Windows服务安装程序中设置"与桌面交互"。
领取专属 10元无门槛券
手把手带您无忧上云