如何解决使用 c# 进程对象
所以我有一些 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 举报,一经查实,本站将立刻删除。