用C#实现将HTML文件转换为CHM文件(转)
这些天因为工作需要,要将一些html文件转换为chm文件,当然是需要和程序结合在一起。
后来找到NDoc,里头有一段代码是相关的,于是开始分析代码,写完之后,总结:主要是利用微软的hhc.exe来编译html文件,程序需要将具体的数据写入hhp和hhc文件。
主要代码如下:
复制C#代码保存代码public void CompileProject()
{
Process helpCompileProcess = new Process(); //创建新的进程,NDOC采用Process启动HHC.EXE来Compile一个CHM文件
try
{
////判断文件是否存在并不被占用
try
{
string path = _chmFile; //chm生成路径
if (File.Exists(path))
{
File.Delete(path);
}
}
catch
{
throw new Exception("文件被打开!");
}
ProcessStartInfo processStartInfo = new ProcessStartInfo();
processStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
processStartInfo.FileName = hhcFile; //调入HHC.EXE文件
processStartInfo.Arguments = "\"" + Path.GetFullPath(GetPathToProjectFile()) + "\"";//获取空的HHP文件
helpCompileProcess.StartInfo = processStartInfo;
//
相关文档:
在页面A中加载了一个flash文件a.swf后,a.swf的路径就会变成A所在的路径。如果在a.swf中要加载b.swf时,这时候的路径就要进行相应的处理。
本来按照a.swf和b.swf在磁盘中的存放路径,a中加载b是很简单的,但是现在a.swf已经变成页面A所在的路径了,如果还是安装原来的路径去加载b.swf就加载不了了。因此可以在as代码加载b ......
Ajax现在已经是相当流行的技术了,Ajax不仅是想服务器端发送消息,更重要的是无刷新的重载页面。
如果页面单纯的使用js来创建,要写大量的代码,而且不直观。
在asp.net中,其实我们可以创建用户自定义控件,通过Ajax请求返回用户自定义控件HTML代码。
public static string RangerUsControl(string controlName) ......
1、C/C++程序员请注意,不能在case语句不为空时“向下执行”。
2、值类型和引用类型之间的区别:C#的基本类型(int,char等)都是值类型,是在栈中创建的。而对象是引用类型,创建于堆中,需要使用关键字new。
3、在C#中通过实例访问静态方法或成员变量是不合法的,会生成编译器错误。但是我们可以通过声 ......
一直没有找到一种好的方法来引用有返回值的存储过程的方法,使我在添加数据中走了不少的弯路,最近,在查阅了大量的资料之后,终于在微软的一个实例中找到了一种良好的方法。
首先编写好一有返回值的存储过程
create procedure proc_name
@para1 nchar(20), --输入参数
@ ......
private void Create_Pz(string Sourcename)
{
string OutMsg;
SqlParameter[] sortPara = { new SqlParameter("@ps_IsType", Pz ......