100分倾囊相送,请教如何在网页中打开后缀名chm格式的文件!!!!!!!!!!!!

cobe309 2005-06-10 09:28:29
同标题!
...全文
135 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cobe309 2005-06-10
  • 打赏
  • 举报
回复
谢谢楼上的朋友们,请问一下如何把这段代码加到网页中,直接加不可以吧?
kevin_gao 2005-06-10
  • 打赏
  • 举报
回复
楼上的方法还挺有想法的! :)
www0aspsun0com 2005-06-10
  • 打赏
  • 举报
回复
CHM文件中某一个具体页面的连接地址是类似如下的方式:
mk:@MSITStore:F:\FAT32.chm::/fat5.htm

mk:@MSITStore 是一种特殊的协议,用于读取CHM文件中的内容。

System.Net.HttpWebRequest、System.Net.WebClient、文件对象 这些都不识别这种协议。

如果你用它们来读取这样的文件,会报错误:
“无法识别该 URI 前缀。”

好在我们有 XMLHttp 可以识别这种协议

演示代码如下:
首先请确保增加了对 Microsoft XML COM的引用。 可能你的电脑上这个COM有不同版本,无所谓,都可以。

private void button1_Click(object sender, System.EventArgs e)
...{
string DownFileName = @"mk:@MSITStore:F:\FAT32.chm::/fat5.htm";
string SaveFileName = @"C:\11.html";

MSXML2.XMLHTTPClass _xmlHttp = new MSXML2.XMLHTTPClass();
_xmlHttp.open("GET",DownFileName,false,null,null);
_xmlHttp.send(null);

if( _xmlHttp.readyState == 4 )
...{
if(System.IO.File.Exists(SaveFileName))
System.IO.File.Delete(SaveFileName);
System.IO.FileStream fs = new System.IO.FileStream(SaveFileName,
System.IO.FileMode.CreateNew);
System.IO.BinaryWriter w = new System.IO.BinaryWriter(fs);
w.Write((byte[])_xmlHttp.responseBody);
w.Close();
fs.Close();
}

}

可以参考:
http://dotnet.aspx.cc/ShowDetail.aspx?id=4AE836F8-CCB4-4BEF-90B1-25BB1A5E6433
cobe309 2005-06-10
  • 打赏
  • 举报
回复
哦,是吗?可是exe文件都可以打开啊
阿_浩 2005-06-10
  • 打赏
  • 举报
回复
chm格式的文件浏览器打不开的
majiming 2005-06-10
  • 打赏
  • 举报
回复
这是帮助文件,在网页中打不开,如果有链接指向此文件,会提示下载
kevin_gao 2005-06-10
  • 打赏
  • 举报
回复
浏览器会要求下载到本地的。。。。。。。。
cobe309 2005-06-10
  • 打赏
  • 举报
回复
在线等!!

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧