首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何杀死OpenFileDialog在c# wpf中选择的进程?

如何杀死OpenFileDialog在c# wpf中选择的进程?
EN

Stack Overflow用户
提问于 2022-06-14 07:58:53
回答 1查看 50关注 0票数 -1
代码语言:javascript
复制
private void Button_Click(object sender, RoutedEventArgs e)
    {
        OpenFileDialog ofd = new OpenFileDialog();
        ofd.Filter = "All files(*.*)|*.*";
        ofd.Multiselect = true;
        if (ofd.ShowDialog() == true)
        {
            MessageBox.Show("Files Selected");
            foreach(string filename in ofd.FileNames)
            {
                
            }
        }
    }

在这种情况下,我只想杀死由OpenFileDialog选择的进程,这样在代码运行期间我就不能使用选择程序.请帮我

EN

回答 1

Stack Overflow用户

发布于 2022-06-14 09:32:06

正如您可以从注释中看到的,解决方案是部分的,但是您可以搜索正在运行的进程中是否有与所选文件同名的进程。

代码语言:javascript
复制
Microsoft.Win32.OpenFileDialog ofd = new Microsoft.Win32.OpenFileDialog();
ofd.Filter = "All files(*.*)|*.*";
ofd.Multiselect = true;
if (ofd.ShowDialog() == true)
{
    MessageBox.Show("Files Selected");
    foreach (string filename in ofd.FileNames)
    {
        var proc = System.Diagnostics.Process.GetProcesses().Where(w => w.ProcessName == System.IO.Path.GetFileNameWithoutExtension(filename)).FirstOrDefault();
        if (proc != null)
            proc.Kill(); // proc.Kill(true); to kill entire process tree
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72613401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档