私は(ボタンを押すことによって)開いているエクスプローラーのためのこのコードを持っています:
System.Diagnostics.Process.Start("IExplore.exe",@"C:\Help.html");
問題は、ボタンを複数回押すと、エクスプローラーが多くのショーを開くことです
エクスプローラーを一度だけ強制的に開く方法は?
ありがとう
if (Process.GetProcessesByName("iexplore").Length == 0)
System.Diagnostics.Process.Start("IExplore.exe", @"C:\Help.html");
すなわち; on_btn_clkd()
{
if(!previouslyClickd)
{
(クリック機能)
previousClicked = false;
}
else
return;
クラスのInternetExplorerのインスタンスで宣言するShDocVw.dll
..を利用する
InternetExplorer wBrowser;
ボタンで[追加]をクリックします
if (wBrowser==null)
{
wBrowser = new InternetExplorer();
wBrowser.Visible = true;
wBrowser.Navigate(@"C:\Help.html");
}
ShDocVw
プロジェクト内にある参照を追加しSystem32
、名前空間をインポートする必要がありますusing SHDocVw;
このコードを使用してみてください。
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");
あなたはこのようにすることができます
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();
}
デフォルトのブラウザーが悪い場合はIE
、次のコードを試してください。
System.Diagnostics.Process.Start(@"C:\Help.html");