加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c#Process.Start()没有返回正确的响应

发布时间:2020-12-16 07:23:54 所属栏目:百科 来源:网络整理
导读:我正在开发一个程序,用户可以从该程序启动任何应用程序.程序将存储启动的应用程序的进程ID,因此它可以在用户想要时终止它. Process application = new Process();application.StartInfo.FileName = txtApplicationToOpen.Text;if (application.Start()){ Deb
我正在开发一个程序,用户可以从该程序启动任何应用程序.程序将存储启动的应用程序的进程ID,因此它可以在用户想要时终止它.

Process application = new Process();
application.StartInfo.FileName = txtApplicationToOpen.Text;

if (application.Start())
{
    Debug.WriteLine("started");
    lstCurrentlyOpenApplications.Items.Add(txtApplicationToOpen.Text);
    _openApplications.Add(application);
}

我面临的问题:

if(application.Start())中的部分被调用,只有当我打开说exe文件或excel文件时(虽然excel文件返回的PID不会杀死excel程序).

当我打开mp3,mp4或图像文件时,它不会进入if语句

尝试获取进程的ID时,它返回以下错误

System.InvalidOperationException: No process is associated with this object.

解决方法

您必须使用ProcessStartInfo.UseShellExecute才能“执行”文档(并让Windows找到与给定文件关联的程序).在那里查看其他答案: ShellExecute vs. Process.Start.

没有该标志,只能启动exe文件.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读