如何通过C#代码只打开一次探险家

时间:2012-10-16 08:07:46

标签: c# winforms

我有这个开放资源管理器的代码(通过按下按钮):

System.Diagnostics.Process.Start("IExplore.exe",@"C:\Help.html");
问题是,如果我按下按钮不止一次 - 资源管理器会打开很多节目

如何强制资源管理器只打开一次?

感谢

6 个答案:

答案 0 :(得分:2)

if (Process.GetProcessesByName("iexplore").Length == 0)
    System.Diagnostics.Process.Start("IExplore.exe", @"C:\Help.html");

答案 1 :(得分:1)

  1. 禁用按钮。
  2. 按标志点击控制
  3. 即;     on_btn_clkd()
         {
           如果(!previouslyClickd)
            {
             (点击功能)
             previousClicked = false;
            }
              否则
            回归;

答案 2 :(得分:0)

尝试使用这段代码:

bool ProcessIsRunning(string process)
{
    return (System.Diagnostics.Process.GetProcessesByName(process).Length != 0);
}

用法:

if (!ProcessIsRunning("IExplore.exe"))
    System.Diagnostics.Process.Start("IExplore.exe",@"C:\Help.html");

答案 3 :(得分:0)

你可以这样做

private void Form1_Load(object sender, EventArgs e)
    {
        IeProcess = new Process();
        startInfo = new ProcessStartInfo("IExplore.exe");
        startInfo.WindowStyle = ProcessWindowStyle.Maximized;
    }

private void buttonStackoverflow_Click(object sender, EventArgs e)
    {
        startInfo.FileName = "www.Stackoverflow.com";
        IeProcess.StartInfo = startInfo;
        IeProcess.Start();
    }

    private void buttongoogle_Click(object sender, EventArgs e)
    {
        startInfo.FileName = "www.google.com";
        IeProcess.Start();
    }

答案 4 :(得分:0)

利用ShDocVw.dll ..
在您的类

中声明Internet Explorer的实例
InternetExplorer wBrowser;

然后在按钮中点击添加

if (wBrowser==null)
    {
     wBrowser = new InternetExplorer();
     wBrowser.Visible = true;
     wBrowser.Navigate(@"C:\Help.html");
    }

您需要添加对ShDocVw的引用,您将在项目的System32中找到该引用并导入名称空间using SHDocVw;

答案 5 :(得分:0)

如果酸性默认浏览器为IE,请尝试以下代码:

System.Diagnostics.Process.Start(@"C:\Help.html");