C#检测产生的进程
发布时间:2020-12-15 07:53:47 所属栏目:百科 来源:网络整理
导读:我正在编写一段c#代码,用于启动安装程序并在继续使用其他内容之前等待它返回. 我遇到某些安装程序出现问题,这些安装程序在安装实际完成之前返回原始进程的其他进程.有什么方法可以等到所有流程完成后? 为了澄清这里我遇到麻烦的情况: 启动Installer1 Insta
我正在编写一段c#代码,用于启动安装程序并在继续使用其他内容之前等待它返回.
我遇到某些安装程序出现问题,这些安装程序在安装实际完成之前返回原始进程的其他进程.有什么方法可以等到所有流程完成后? 为了澄清这里我遇到麻烦的情况: >启动Installer1 这是我目前正在使用的代码: // launch installer Process process = windowsApplicationLauncher.LaunchApplication(_localFilePath); // wait for process to return do { if (!process.HasExited) { } } while (!process.WaitForExit(1000)); if (process.ExitCode == 0) { _fileService.MoveFile(_localFilePath,_postInstallFilePath); _notification.SetComplete(false); return true; } return false; 解决方法
您是否考虑过使用WMI来解决这个问题?
您可以使用WMI侦听进程创建和删除事件.问题967668有一个很好的例子. 当您收到进程创建事件时,您可以发出WMI查询以确定该进程是否是您的根安装程序的子进程(或子进程的子进程),具有以下内容: “SELECT * FROM Win32_Process WHERE ParentProcessId =”. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |