C#中显示后缀为.HTM帮助文件,用户要求使用windos默认浏览器(firefox),帮助文件地址里有特殊符号文件不能显示。请问怎样显示这些文件。
我使用的方法是:Help.ShowHelp(this,".\\test.htm") 这样是能显示首页的。
如果使用方法是:Help.ShowHelp(this,".\\test.htm#1000") 这样不能显示出帮助文件的定位页面,原因是firefox不能认识“#”(申明如果用IE是能打开".\\test.htm#1000"这个文件的)请问怎样让firefox打开这个文件
我使用的方法是:Help.ShowHelp(this,".\\test.htm") 这样是能显示首页的。
如果使用方法是:Help.ShowHelp(this,".\\test.htm#1000") 这样不能显示出帮助文件的定位页面,原因是firefox不能认识“#”(申明如果用IE是能打开".\\test.htm#1000"这个文件的)请问怎样让firefox打开这个文件
我以前用过WebBrowser _Web= new WebBrowser();
_Web.Navigate(".\\test.htm#1000",true);
这样输出是没问题的但只能已IE的形式表现出来,但我的客户要求使用windows默认的方式显示(客户可能用firefox等浏览器)。
这样就能打开
firefox "file:///C:/Documents%20and%20Settings/hwp/%E6%A1%8C%E9%9D%A2/regex.html#matchingandsearching"要不你用ShellExecute或者ShellExecuteEx这两个api完成吧。PS我的firefox是刚装的3.0不知道以前版本如何。
问题是用户默认的浏览器不一定是fireFox 如果是其他的浏览器
我怎样得到它运行的程序,这些程序是否可以这样使用参数。Help.ShowHelp()这个方法能够调用默认的浏览器。
只不过使用".\\test.htm#1000" 这种地址后。在firefox地址框显示的是,"file:///c:/test.htm%231000"这样firefox就不能找到test.htm这个文件了。
firefox还是火星浏览器。
我这样试了。还是找不到文件。在网页上出的错误。
url = “c:\\test.htm#1000”;
我采用外部执行的方式解决的问题。
Process p = new Process();
p.StartInfo.FileName = GetIERunString();
string c = url;
p.StartInfo.Arguments = c;
p.Start();GetIERunString()函数是从注册表里获取 IE的执行路径 string IEString = string.Empty;
RegistryKey regKey = Registry.ClassesRoot;
regKey = regKey.OpenSubKey(@"http\shell\open\command");
IEString = regKey.GetValue("").ToString();
string a = IEString;
string[] b;
b = a.Split(new char[1] { '"' });
IEString = b[1];
return IEString;