Winform程序随Windows Service一同启动

有时候有些程式需要以服务的形式运行,但却不能做成服务,例如:Winform上面有调用ActiveX控件,ActiveX控件不能在服务中运行.

这时有两种解决方案:

1.做计划任务.此处略,重点是所有用户登录前运行。

2.做一个服务启动Winform程式,缺点是需要运行两个进程,代码参考如下:

代码
private Process process=null;
public Service1()
{
    InitializeComponent();
}

protected override void OnStart(string[] args)
{
    
//启动winform程式,此处winfrom程式与服务在同一目录
    process = Process.Start(AppDomain.CurrentDomain.BaseDirectory + "test.exe");
}

protected override void OnStop()
{
    
//关闭winform程式
    process.CloseMainWindow();
    process.Close();
    process.Dispose();
}
原文地址:https://www.cnblogs.com/ywkpl/p/1767884.html