1

私は(ボタンを押すことによって)開いているエクスプローラーのためのこのコードを持っています:

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

問題は、ボタンを複数回押すと、エクスプローラーが多くのショーを開くことです

エクスプローラーを一度だけ強制的に開く方法は?

ありがとう

4

6 に答える 6

2
if (Process.GetProcessesByName("iexplore").Length == 0)
    System.Diagnostics.Process.Start("IExplore.exe", @"C:\Help.html");
于 2012-10-16T08:13:49.533 に答える
1
  1. ボタンを無効にします。
  2. フラグでクリックを制御する

すなわち; on_btn_clkd()
{
if(!previouslyClickd)
{
(クリック機能)
previousClicked = false;
}
else
return;

于 2012-10-16T08:16:11.393 に答える
0

クラスのInternetExplorerのインスタンスで宣言するShDocVw.dll..を利用する

InternetExplorer wBrowser;

ボタンで[追加]をクリックします

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

ShDocVwプロジェクト内にある参照を追加しSystem32、名前空間をインポートする必要がありますusing SHDocVw;

于 2012-10-16T08:26:45.027 に答える
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");
于 2012-10-16T08:13:41.703 に答える
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();
    }
于 2012-10-16T08:19:47.593 に答える
0

デフォルトのブラウザーが悪い場合はIE、次のコードを試してください。

System.Diagnostics.Process.Start(@"C:\Help.html");
于 2012-10-16T09:32:37.160 に答える