C#怎么判断程序是否正确启动 ?
通过遍历硬盘寻找指定的程序,比如 a.exe,
我是根据名字找的,所以找到后想通过 Process.Start 来启动然后测试是不是找到了正确的那个程序。
说得明白点,我在找的是一个游戏的主程序,所以如果缺少某个文件就无法正确运行,而这个程序现在被复制到了硬盘中的其他位置,所以会出现无法正确打开的情况,由此来判断找到的路径是 “真的”还是“假的”。但是又不想看到那个错误提示的弹窗“缺少xxx文件”,所以想知道,怎么提供一种类似调试模式来运行,并判断是否正确启动,一旦正确启动就马上关掉,求思路啊。。WinAPI也行的
对应代码:
我是根据名字找的,所以找到后想通过 Process.Start 来启动然后测试是不是找到了正确的那个程序。
说得明白点,我在找的是一个游戏的主程序,所以如果缺少某个文件就无法正确运行,而这个程序现在被复制到了硬盘中的其他位置,所以会出现无法正确打开的情况,由此来判断找到的路径是 “真的”还是“假的”。但是又不想看到那个错误提示的弹窗“缺少xxx文件”,所以想知道,怎么提供一种类似调试模式来运行,并判断是否正确启动,一旦正确启动就马上关掉,求思路啊。。WinAPI也行的
对应代码:
try
{
FileInfo[] files = info.GetFiles("*.exe");
var result = files.Where(file => file.Name == "OFDR.exe").Select(file => file).ToList();
if (result.Count > 0)
{
foreach (FileInfo _fi in result)
{
try
{
Process _p = Process.Start(_fi.FullName);
if (_p.StandardError == null)
{//这里错的,需要重定向,请无视。。
_p.Kill();
Console.WriteLine("Find In: {0}.", result[0].FullName);
_sentry = true;
loopstate.Stop();
return;
}
else
{
_p.Kill();
}
}
catch { }
}
}
}
catch { }
...全文


