使用超链接打开Windows窗体

时间:2013-10-04 18:54:17

标签: c# html

我正在尝试使用本地html页面上的超链接在C#中打开一个窗体。我已经试过了,我的一个朋友建议尝试这个:

string curDir = Directory.GetCurrentDirectory();
string url;
url = ("file:///" + curDir + "/startpage.html" + "#accounts");
HttpUtility.UrlEncode(url);
if (webBrowser1.Url.AbsoluteUri == url)
{
    Users u = new Users(this);
    u.Show();
}

最好的方法是什么?截至目前,当我点击超链接时,即使网址确实发生变化,此代码也不会执行任何操作。谢谢!

1 个答案:

答案 0 :(得分:1)

按照设计,您无法从浏览器应用程序运行可执行文件,因为这将是一个可怕的安全性失败。话虽如此,在浏览器中使用ActiveX组件将允许运行任意可执行文件 - 这就是浏览器中的ActiveX出现这样一个安全问题的原因。

添加回复

如果您考虑一下,您还会看到,出于同样的安全原因,浏览器会阻止打开本地文件。例外情况是,当打开页面本身是本地文件时,浏览器将允许另一个打开的文件。这可能取决于浏览器,但我不认为任何现代的常见浏览器都会允许它,尽管它们可能允许您通过配置选项或浏览器扩展来实现。