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时,它返回以下错误
解决方法
您必须使用ProcessStartInfo.UseShellExecute才能“执行”文档(并让Windows找到与给定文件关联的程序).在那里查看其他答案:
ShellExecute vs. Process.Start.
没有该标志,只能启动exe文件. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |