问题描述
所以我有一些 C# 代码可以驱动一个 citrix 进程,并且由于您使用 PID 123 调用它,它最终会以 PID 456 运行,因此我们需要检查 wfica32.exe 的所有正在运行的进程,然后检查 Windows 标题以查看如果它仍在运行。一个进程就可以了,它在标题中有程序的名称。第二个不只是在标题中有一些患者数据。可以知道我的窗口是否正在为该患者运行,但不知道它是否在运行。因此,试图从进程对象中查看是否有从 citrix 运行的最终进程名称?或者进程对象的任何信息可能会让我知道下一个 citrix 进程而不使用窗口标题?
从这里开始
System.Diagnostics.processstartinfo startInfo = new System.Diagnostics.processstartinfo(location,C.GetString(Configuration.Options.CitrixLaunchParameters));
_citrixProcess.StartInfo = startInfo;
log.Debug(fn + location + C.GetString(Configuration.Options.CitrixLaunchParameters));
_citrixProcess.Start();
以这种方式监控
Process myProcess = null;
if (Configuration.GetBoolean(Configuration.Options.LaunchThinClient))
{
Process[] myProcess = Process.GetProcessesByName("wfica32");
foreach (Process p in myProcess )
{
//log.Debug(fn + "Main Window Title: " + p.MainWindowTitle);
//log.Debug(fn + "Process Id: " + p.Id);
//Todo logic needed here for multiple instances,move up...
if (p.MainWindowTitle.Contains("Imaging Desktop"))
{
log.Info(fn + _applicationName + "Citrix Client Process found");
}
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)