C# 收到信号器结果后,如何从windows服务应用程序打开桌面应用程序

C# 收到信号器结果后,如何从windows服务应用程序打开桌面应用程序,c#,winapi,windows-services,signalr,hwnd,C#,Winapi,Windows Services,Signalr,Hwnd,我目前正在开发一个windows服务应用程序,该应用程序已经在使用SignalR服务。我的新要求是在windows服务收到信号器的通知时启动桌面应用程序 当我在谷歌上研究如何使用windows服务启动桌面应用程序时,我找到了代码库,目前正在使用它 正如它所解释的,当我调用bellow方法时 ProcessExtensions.StartProcessAsCurrentUser(string path); 在windows服务的OnStart方法中,我能够启动桌面应用程序 我在这个windows

我目前正在开发一个windows服务应用程序,该应用程序已经在使用SignalR服务。我的新要求是在windows服务收到信号器的通知时启动桌面应用程序

当我在谷歌上研究如何使用windows服务启动桌面应用程序时,我找到了代码库,目前正在使用它

正如它所解释的,当我调用bellow方法时

ProcessExtensions.StartProcessAsCurrentUser(string path);
在windows服务的
OnStart
方法中,我能够启动桌面应用程序

我在这个windows服务中也有
signal
客户端(下面的代码)

一旦SignalR client收到一条消息,应用程序就会失败,错误日志会收到此错误消息

StartProcessAsCurrentUser: CreateProcessAsUser failed.  Error Code -2
根据系统错误代码,它表示系统找不到指定的文件

另外,我想这将解释这里的问题。但我不知道一旦SignalR客户端收到通知,需要实现哪个组件来启动桌面应用程序。所以,有人能帮我解决这个问题吗


提前感谢。

您确定文件
D:\Application\Application.exe
存在吗?是的。就在那里。你当时是在同一台计算机上运行的吗?是的。同一台计算机中的所有内容您是否尝试使用其他函数来执行外部应用程序?
protected override async void OnStart(string[] args)
{
            NotificationHub.ConsumeNotification();
}
StartProcessAsCurrentUser: CreateProcessAsUser failed.  Error Code -2