使用 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 (将#修改为@)