繁体   English   中英

在process.start();之前检查该进程是否存在。

[英]Check if the process exists before process.start();

我做了一个执行可执行文件(.exe)的小程序,但是当您写下不存在的文件时出现错误,找不到特定于文件的文件。

所以我想知道是否有一种方法可以在运行该进程之前先检查该进程是否存在,如果不存在,则可以显示一个消息框。

这是我的代码

 private void btn_Start_Click(object sender, EventArgs e)
    {


        string text = textBox1.Text;
        Process process = new Process();
        if (!textBox1.Text.Contains(".exe"))
        {
            process.StartInfo.FileName = text + ".exe";
        }
        else
        {
            process.StartInfo.FileName = text;
        }
        process.Start();


    }

在启动过程之前,请检查文件是否存在:

var processFileName = !textBox1.Text.Contains(".exe")
    ? text + ".exe"
    : text;

if (File.Exists(processFileName))
{
    Process process = new Process();
    process.Start(processFileName);
}

请尝试以下代码:->(使用“ File.Exists”命令之前,您必须添加#using System.IO;)

button1_Click(object sender, EventArgs )
{
            string exepath = "C:\\example\\example.xlsx";
            if(File.Exists(exepath))
            {
                Process.Start(exepath);
            }
            else
            {
                MessageBox.Show("File not found!");
            }
}

希望它能正常工作!

您可以在路径中输入字符串,然后在其他字符串中输入文件名,然后甚至可以检查“文件夹”,如果该文件夹存在,请检查该文件! 您也可以使用textbox1作为文件名,但是必须添加路径,除非它将在程序目录中搜索。(bin / debug)如果我输入错误,请原谅,我现在正在学习c#! 祝你有美好的一天!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM