遇到一个需求,需要保持一个桌面客户端程序在用户电脑上的运行,并在意外关闭或者手动关闭后也要重新启动;做一个记录
需要引用 Cjwdev.WindowsApi.dll 示例使用2.7.0版本
链接:https://pan.baidu.com/s/1BFqkWKsaI6Cp2vjCqafCLQ
提取码:fbq0
uint sessionID = ApiDefinitions.WTSGetActiveConsoleSessionId();
IntPtr userTokenHandle = IntPtr.Zero;
IntPtr dupeTokenHandle = IntPtr.Zero;
string appStartPath = "进程路径";
if (sessionId <= 0)
{
return;
}
if (ApiDefinitions.WTSQueryUserToken(sessionId, ref userTokenHandle))
{
ApiDefinitions.PROCESS_INFORMATION procInfo = new ApiDefinitions.PROCESS_INFORMATION();
ApiDefinitions.STARTUPINFO startInfo = new ApiDefinitions.STARTUPINFO();
startInfo