當前位置:首頁 » 操作系統 » chm源碼

chm源碼

發布時間: 2022-09-12 02:59:16

㈠ 誰有c++ STL 中文文檔或者Boost文檔就發我一份吧,一定要中文,最好能都源碼的,最好是chm格式的

給你書的名字。。中文 Beyond the C++ Standard Library:An Introction to Boost.chm Boost程序庫完全開發指南.pdf 關於stl看這。。http://cplusplus.com/reference/stl/ 中文的真心不給力

㈡ 求chm反編譯的源代碼!

這里有源碼以及完整實例
http://www.codeproject.com/KB/winhelp/htmlhelp.aspx

㈢ 怎麼將chm完美的轉成kindle支持的格式

以calibre該軟體為例,步驟如下:

1、直接打開相關窗口,點擊添加書籍進行跳轉。

java源代碼chm格式

沒有見過這樣的東西,而且我覺得也不會有,就算有,也沒有多少人用。
我有很多理由可以說明 eclipse比chm的源代碼查看好
1.chm版本,一個最明顯的優勢是搜索,但是這個功能,eclipse裡面也有
具體步驟:在一個方法裡面(比如main)打想要搜索的類名,比如List,大小寫無所謂,打完任何一個字母,可以使用eclipse里的快捷內容幫助,默認是alt+/,下面就會出現相應的類,找到,回車,然後按住Ctrl點擊滑鼠左鍵,進入這個類的源代碼,操作上,跟chm一樣簡便
2.eclipse裡面查看的源代碼,有以下好處
2.1 代碼語法高亮,格式化整齊
2.2 可以使用eclipse中的outline視圖,快速的找到你關注的代碼部分
2.3 可以顯示類的繼承關系(比如,藉助於hierarchy視圖,比如游標在某個類上的時候按Ctrl+T)
2.4 可以使用Ctrl+O快速找到某個類中的某些方法
2.5 以及其他非常常用 而且有用的快捷功能
3. eclipse查看源碼,擴展性好,你現在是看JDK源碼,要求一份JDK源碼的chm,但是你下次要看ssh框架的源碼,那你又要去求這些的chm。使用eclipse則不然,簡單的添加源代碼後,可以直接查看(源代碼的獲取途徑很多,這些框架的官網上都有)
4. 有助於你對eclipse的熟練程度。工具熟悉以後,很多開發都會變得更簡單了
5. 還有很多。。。 自己體會

如果你是由於某種原因,不能使用eclipse,那麼我覺得,用手動看src的方式看看就足夠了,因為eclipse這種IDE都布使用,那編碼量肯定是少的,同樣的,代碼的閱讀量也會減少(光看,不去實際操作類裡面的方法,是沒有什麼效果的),或者說,這種情況下,看JDK API doc就足夠了

另外說點題外的,java出來也十幾年了,為什麼沒有提供這種 chm版本的源代碼閱讀呢?根本原因就是不需要這樣的東西,因為已經有很多比這種方式好的多的其他方式存在了,你如果覺得不和要求,一定是你沒有發現其他工具的優勢
除非有特殊情況,但是特殊情況下,你可以自己寫一個src轉成chm的工具(有能力寫這個工具的時候,我想你也不會去寫這樣的工具了,因為你已經能夠通過更簡單的辦法實現你的特殊需求了)

㈤ chm電子書製作全過程

CHM幫助文件是什麼?原來的軟體大多數採用擴展名為HLP的幫助文件(WinHelp ),但隨著互聯網的發展,這種格式的幫助文件已經難以適應軟體在線幫助的需要,以及更加人性化更加簡單易於查看的需要,因此一種全新的幫助文件系統HTML Help由微軟率先在Windows98中使用了。由於它是一個經過壓縮的網頁集合,不但減小了文件的體積,更利於用戶從INTERNET上下載,並且還支持HTML、Ac-tiveX、Java、JScript、Visual Basic Scripting 和多種圖像格式(.jpeg、.gif和.png 等),因此很快受到廣大軟體作者和軟體用戶的歡迎。不過,它的用途又何止這些?

下面,我們就以將小說《圍城》製作成一部閱讀方便的電子版小說為例,一步步地讓您了解CHM幫助文檔製作的全過程,通過這樣的介紹,相信您一定能隨心所欲地做出更多自己想要的電子文檔。「公欲善其事,必先利其器」,還是先介紹我們的製作工具吧。能製作CHM文件的工具最常用也是最易用的莫過於Microsoft的HTML Help Workshop了,它完全安裝後只有4.6M,包括兩組工具集:HTML Help Workshop和HTML Help Image Editor。前者就是我們今天要用到的好東東,後者在網頁製作中常用到圖形文件的編輯和修改。

安裝完HTML Help Workshop後,您可以在開始菜單|程序|HTML Help Workshop中打開它。要建立CHM幫助文件必須先將我們所有想要讓其出現在幫助文件中的內容做成相對獨立的網頁文件(即HTML文件),這些工作可以在HTML Help Workshop中完成,也可以應用其他網頁編輯器(如FontPage或HotDog)來製作。

比如說我們這里將其作為例子的《圍城》,就可以按不同的章節來製作。另外,HTML文件之間應該相互鏈接,如每一章之間應該保留與上一章和下一章超級鏈接的介面,將這些相對獨立的網頁製作完成後,將它們儲存到一個新建的文件夾中。

首先我們先介紹幾種將要用到的過渡文件:

1.hhp文件,這是最常用的一類文件,它實際上是「HTML Help project」的縮寫,表示HTML幫助文件項目,它是生成CHM文件最直接用到的一類文件,只需要有一個hhp文件就可以根據它來編譯相應的CHM文件。

2.hhc文件,它是「HTML Help table of contents」的縮寫,表示的是HTML幫助文件的目錄,通常我們在CHM文件瀏覽器的左邊窗口中看到的目錄內容就由它來提供,當然,它並不能直接被編譯成CHM文件,而先要集成到某一hhp文件中才能發揮作用。

3.hhk文件,它是「HTML Help Index Keyword」的縮寫,為我們提供了CHM文件的關鍵字索引查詢功能,也是一個易於查看的幫助文件不可缺少的一部分,同hhc文件一樣,它也不能直接編譯生成相應的CHM文件。

4.hhj文件,它實際上不屬於我們今天要討論的內容,因為它屬於另一個幫助文件系統Win Help,在Win Help系統中,hhj文件的作用相當於HTML Help 中的HHP文件,在這里就不做更詳細的介紹了。

我們現在已經知道要編譯一個CHM文件,首先要建立一個hhp文件。先在Workshop的「文件」菜單中選擇「新建」一個項目,這時將會出現有名為「新建項目」的窗口,這里會有一名「向導」提示您是否將採用原由的WinHelp項目文件(即.hpj)來製作新的項目,可以將「轉換WinHelp項目」選項勾掉,點擊「下一步」然後指定將要建立的hhp文件的文件名和完整的路徑,再進入「下一步」,此時會有三個復選項,它們分別表示以現存的hhc、hhk、HTML文件來建立HHP文件,由於沒有現成的hhc和hhk文件,因此我們可以只選擇最後一項(HTML Files),點擊「下一步」後可以在隨後出現的「新建項目——HTML文件」窗口中將我們已經製作好的所有網頁文件按先後順序添加到文件列表中,點擊「下一步」後,就可以看到令人愉快的「完成」按鍵了,但這並不意味著大功告成,因為這一步僅僅是建立了一個hhp文件,還有不少工作等著我們去完成呢。

一個hhp文件形成後,將會在Workshop|項目窗口中顯示此文件的結構,雙擊此窗口中的[OPTIONS]選項,就可以修改這一項目的結構了,比如要指定項目的標題,指定CHM文件的默認首頁文件以及文字編碼類型和字體,在文件窗口中,還可以指定將要生成的CHM文件的文件名以及路徑、指定編譯時所需的hhc和hhk的路徑及名稱等等。上面我們已經介紹了hhc、hhk文件的作用,它們並不是必須的,可以根據需要來決定是否要生成包含目錄以及關鍵字查詢的幫助文檔,一般來說,總頁數較少的幫助文件可以省略掉這些內容和功能。對照本例的電子版小說《圍城》的頁數,我們決定簡單至上,這時可以執行「文件」菜單中的「編譯」命令,Workshop在確認hhp文件的路徑及名稱後。很快,一本電子版小說就這樣生成了,它雖然只是一個獨立的文件,但卻可以完全脫離自己的機器、脫離Workshop運行(需要IE4.0以上支持)。

一個比較簡單的CHM幫助文件(沒有目錄、沒有索引)的製作過程就是這樣,如果您想製作包括目錄和索引的幫助文件,可以先分別製作一個HHC文件和一個HHK文件,然後在上一步中將它們添加到相應的項目中就可以了。HHC的建立和編輯的方法有兩種,一種是在「文件」菜單中選擇新建一個「目錄表」,在隨後出現的編輯窗口中對其進行編輯;另一種方法是在形成的hhp文件編輯窗口中點擊「目錄」窗口選擇「創建一個新的目錄文件」,並為其命名進行相應的編輯。

經過上面的介紹,現在您一定可以自己編輯製作幫助文件和電子文檔了吧,Workshop的用途其實還有很多,其中另一個不得不說的功能是:它不僅可以編譯一個CHM文件,更可以對現有的CHM文檔進行反編譯,這樣我們可以更直接地借鑒和使用一些製作得非常精美的幫助文檔的某些精彩部分,有時搞一點「拿來主義」感覺還是不錯的。

好了,不多說了,還是告訴您這個HTML Help Workshop的下載地址吧:下載,感興趣的朋友還是快點吧!

㈥ 求一個完整的c++項目(源碼+文檔)

建議下載《Windows程序設計.chm》,裡面有很多常式,有完整源代碼,而且都是有界面的。

㈦ 什麼軟體能打開.chm文件的源代碼

HHW也可以的
你新建工程-載入已有工程,這樣就能把原來的CHM文檔打開。
之後再找到你要修改的那個網頁,用frontpage神馬的打開,就能修改了

㈧ C# 如何生成CHM幫助文件

前一段時間應公司要求,讓我開發一個資料庫欄位信息CHM幫助文件生成軟體。結果當時我就二了,這個東西我只用過,不知道咋做啊。沒想到老大很隨意說一句:"沒事,這個軟體我之前有有源碼,只不過現在不能用了,你等會參考一下就可以了"。我當時還傻乎乎的謝天謝地,總算有源碼可以參考了。當源代碼發過來以後,我頓時石化了,我。。。。。,那玩意兒用c++builder開發的,硬著頭皮看了一遍,全是帶*指針變數、數組、集合、函數,更要命的是,一個類裡面寫了四五千行沒注視的代碼,函數中五六百行代碼的有幾個。 我說這不是坑人嘛?結果看了一天後,我果斷放棄看了那個源碼了,最後還是的感謝網上活躍的一幫朋友,在一個源碼的幫助下(源碼我不知道怎麼上傳,),終於完成了任務啊, 吐槽到此為止,言歸正傳,首先如下:生成事件View Code 從方法中我可以看出,我們需要一個hhp文件,hhc文件,hhk文件,然後再執行compile方法就可以了首先動態生一個hhp,代碼如下: 1///<summary> 2/// 創建hhp文件 3///</summary> 4///<param name="htmFile">htm文件名</param> 5publicvoid OpenHhp(string htmFile) 6 { 7 FileStream fs = new FileStream("test.hhp", FileMode.Create); //創建hhp文件 8 streamWriter = new System.IO.StreamWriter(fs, System.Text.Encoding.GetEncoding("GB18030")); 91011 streamWriter.WriteLine("[OPTIONS]"); 12 streamWriter.WriteLine("Compatibility=1.1 or later"); 13 streamWriter.WriteLine("Compiled file=" + textBox1 .Text.Trim()+ ".chm"); //定義生成文件名稱14 streamWriter.WriteLine("Contents file=test.hhc"); 15 streamWriter.WriteLine("Default topic=HTML\\全部對象.htm"); 16 streamWriter.WriteLine("Display compile progress=Yes"); 17 streamWriter.WriteLine("Index file=DBO_HELP.hhk"); 18 streamWriter.WriteLine("Language=0x804 中文(中國)"); 19 streamWriter.WriteLine("Title=資料庫結構展示"); 20 streamWriter.WriteLine(""); 21 streamWriter.WriteLine("[FILES]"); 22 streamWriter.WriteLine("全部對象.htm"); 23 streamWriter.WriteLine(""); 24 streamWriter.WriteLine("[INFOTYPES]"); 25 streamWriter.WriteLine(htmFile); 26 streamWriter.WriteLine(); 27 streamWriter.Close(); 28 }這樣在項目的根目錄上面就生成了一個hhp文件 現在就要生成hhc文件了,它主要就是生成chm文件左邊顯示樹形的內容,當點擊節點,可以超鏈接要顯示的頁面(其實CHM中的內容都是HTML,你可以直接連接靜態網頁,),當然是顯示在右邊,而我的項目中要顯示東西都是動態生成HTML文件,所以這個生成有些復雜,不過我這里會截取主要部分代碼講解:privatevoid OpenHhc(string htmFile) { StringBuilder Modes = new StringBuilder(); FileStream fs = new FileStream(GetContentsHtmlFilename(), FileMode.Create); //創建hhp文件 streamWriter = new System.IO.StreamWriter(fs, System.Text.Encoding.GetEncoding("GB18030")); FileStream fs1 = new FileStream("HTML\\全部對象.htm", FileMode.Create); // str1 = new System.IO.StreamWriter(fs1, System.Text.Encoding.GetEncoding("GB18030")); streamWriter.WriteLine("<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML//EN\">"); streamWriter.WriteLine("<HTML>"); streamWriter.WriteLine("<HEAD>"); streamWriter.WriteLine("<meta name=\"GENERATOR\" content=\"Microsoft® HTML Help Workshop 4.1\">"); streamWriter.WriteLine("<!-- Sitemap 1.0 -->"); streamWriter.WriteLine("</HEAD>"); streamWriter.WriteLine("<BODY>"); streamWriter.WriteLine("<OBJECT type=\"text/site properties\">"); streamWriter.WriteLine("<param name=\"Window Styles\" value=\"0x800025\">"); streamWriter.WriteLine("</OBJECT>"); string sql = "SELECT mId,mName FROM Models"; DataTable dt = DBHelper.getDatatable(sql); for (int i = 0; i < dt.Rows.Count; i++) { #regionif (i == 0) { streamWriter.WriteLine(" <UL>"); streamWriter.WriteLine(" <LI> <OBJECT type=\"text/sitemap\">"); streamWriter.WriteLine(" <param name=\"Name\" value=\"資料庫伺服器\">"); streamWriter.WriteLine(" <param name=\"Local\" value=\"HTML\\全部對象.htm\">"); streamWriter.WriteLine(" <param name=\"ImageNumber\" value=\"13\">"); streamWriter.WriteLine(" </OBJECT>"); streamWriter.WriteLine(" <UL>"); Modes.Append("<!doctype html public \"-//W3C//DTD HTML 4.0 Transitional//EN\"> \r"); Modes.Append("<html> \r"); Modes.Append(" <head> \r"); Modes.Append(" <title>所有模塊</title> \r"); Modes.Append(" <meta name=\"Generator\" content=\"EditPlus\"> \r"); Modes.Append(" <meta name=\"Author\" content=\"\"> \r"); Modes.Append(" <meta name=\"Keywords\" content=\"\"> \r"); Modes.Append(" <meta name=\"Description\" content=\"\"> \r"); Modes.Append(" </head> \r"); Modes.Append(" <body> \r"); Modes.Append(" <div align=\"Center\" style=\"font-size:20px;font-width:bold;;color:green\">全部模塊</div>\r"); Modes.Append(" <hr color = #FF0000>"); Modes.Append(" <div align=\"Center\"><A href=\""+dt.Rows[i]["mName"].ToString()+".htm\">"+dt.Rows[i]["mName"].ToString()+"</A></div>\r"); } if (i > 0) { Modes.Append(" <br/>"); Modes.Append(" <div align=\"Center\"><A href=\"" + dt.Rows[i]["mName"].ToString() + ".htm\">"+dt.Rows[i]["mName"].ToString()+"</A></div>\r"); } streamWriter.WriteLine(" <LI> <OBJECT type=\"text/sitemap\">"); streamWriter.WriteLine(" <param name=\"Name\" value=\"" + dt.Rows[i]["mName"].ToString() + "\">"); streamWriter.WriteLine(" <param name=\"Local\" value=\"HTML\\" + dt.Rows[i]["mName"].ToString() + ".htm\">"); streamWriter.WriteLine(" <param name=\"ImageNumber\" value=\"21\">"); //streamWriter.WriteLine(" <param name=\"ImageNumber\" value=\"1\">"); streamWriter.WriteLine(" </OBJECT>"); streamWriter.WriteLine("</UL>"); Modes.Append(" </BODY>\r</HTML>"); } streamWriter.WriteLine("</UL>\r</UL>\r</BODY>\r</HTML>"); streamWriter.WriteLine(); streamWriter.Close(); str1.WriteLine(Modes); str1.Close(); } }這語法很像HTML,但同時也不是,<UL></UL>代表一級節點,其中中間的 " <LI> <OBJECT type=\"text/sitemap\"><param name=\"Name\" value=\"資料庫伺服器\"><param name=\"Local\" value=\"HTML\\全部對象.htm\"><param name=\"ImageNumber\" value=\"13\"></OBJECT>"這段代碼負責節點內容、連接、圖片顯示功能,如果<UL>內容嵌套的話,則表示下一級節點。還有我定義的modes,它主要負責生成一個Htm文件(記住用文件流生成,文件後綴名不要用html,而要用htm,不然會有錯誤,具體我也不知道啥原因),這樣hhc文件生成在根目錄下接下來,則要生成hhk文件了它主要負責你索引部分要顯示的內容,這里生成也很簡單 1privatevoid OpenHhk() 2 { 3 FileStream fs = new FileStream(startPath + @"\test.hhk", FileMode.Create); //創建hhp文件 4//streamWriter = new System.IO.StreamWriter(fs, System.Text.Encoding.GetEncoding("GB18030")); 5 streamWriter = new System.IO.StreamWriter(fs, System.Text.Encoding.GetEncoding("UTF-8")); 6 streamWriter.WriteLine("<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML//EN\">"); 7 streamWriter.WriteLine("<HTML>"); 8 streamWriter.WriteLine("<HEAD>"); 9 streamWriter.WriteLine("<meta name=\"GENERATOR\" content=\"Microsoft® HTML Help Workshop 4.1\">"); 10 streamWriter.WriteLine("<!-- Sitemap 1.0 -->"); 11 streamWriter.WriteLine("</HEAD>"); 12 streamWriter.WriteLine("<BODY>"); 13 streamWriter.WriteLine("<UL>"); 14string sql = "SELECT dId,dName,status,dCreTime,dFieidNum,dChName,dFunctionDesc FROM Documents order by dName"; 15//string sqls = "";16 DataTable dt1 = DBHelper.getDatatable(sql); 17foreach (DataRow dr in dt1.Rows) 18 { 19 streamWriter.WriteLine(" <LI> <OBJECT type=\"text/sitemap\">"); 20 streamWriter.WriteLine(" <param name=\"Name\" value=\"" + dr["dName"].ToString() + "\">"); 21 streamWriter.WriteLine("<param name=\"Local\" value=\"" + dr["dName"].ToString() + ".htm\">"); 22 streamWriter.WriteLine("</OBJECT>"); 23 } 24 streamWriter.WriteLine("</UL>"); 25 streamWriter.WriteLine("</BODY>"); 26 streamWriter.WriteLine("</HTML>"); 27 streamWriter.WriteLine(); 28 streamWriter.Close(); 29 }執行以後就可以在根目錄下生成hhk文件了到此為止,生成chm文件的必須的三大文件已經搞定了,下面就是compile方法了 1string hhcFile = @"C:\Program Files\HTML Help Workshop\hhc.exe";//hhc.exe文件位置,windows自帶的,一般是這個路徑 2publicstring _defaultTopic = "";//默認的頁面 3privatebool Compile() 4 { 5string _chmFile = startPath + @"\test.chm";//chm文件存儲路徑 6 Process helpCompileProcess = new Process(); //創建新的進程,用Process啟動HHC.EXE來Compile一個CHM文件 7try 8 { 9//判斷文件是否存在並不被佔用10try11 { 12string path = _chmFile; //chm生成路徑13if (File.Exists(path)) 14 { 15 File.Delete(path); 16 } 17 } 18catch(Exception e) 19 { 20thrownew Exception("文件被打開!�恢�勒Π沙絛蟶洗�俠矗�M�兄�賴母嫠咭幌攏��雌鵠錘芯跤械慍粵Γ�緩夢鶓

熱點內容
wemall微商城源碼 發布:2025-05-14 22:15:20 瀏覽:803
隆地優選交易密碼是什麼 發布:2025-05-14 21:53:23 瀏覽:94
強酸強鹼存儲櫃 發布:2025-05-14 21:45:16 瀏覽:564
車輛參數配置包括什麼 發布:2025-05-14 21:31:03 瀏覽:163
怎麼引入安卓項目 發布:2025-05-14 21:26:39 瀏覽:824
游戲輔編程 發布:2025-05-14 21:18:49 瀏覽:687
三菱plc一段二段密碼什麼意思 發布:2025-05-14 21:17:16 瀏覽:528
電腦開機密碼忘記了怎麼破解 發布:2025-05-14 21:09:40 瀏覽:57
pythondict格式 發布:2025-05-14 21:09:38 瀏覽:887
落葉片拍攝腳本 發布:2025-05-14 20:40:49 瀏覽:800