2010-02-16 21 views
7

मैं सी # का उपयोग कर एक विशिष्ट विषय पर खोलने के लिए एक सीएचएम फ़ाइल प्राप्त करने की कोशिश कर रहा हूं।सीएचएम फ़ाइल से सभी विषयों की सूची

मैं

Help.ShowHelp(this, path, HelpNavigator.Topic, "TopicTitle"); 

उपयोग करने की कोशिश की है, लेकिन यह पेज नहीं मिल रहा है। मुझे विषय शीर्षक में सही ढंग से कुंजी नहीं होना चाहिए। क्या कोई तरीका है कि मैं प्रोग्रामिंग रूप से सीएचएम फ़ाइल से सभी विषयों को पुनर्प्राप्त कर सकता हूं ताकि मैं देख सकूं कि वे क्या हैं?

उत्तर

7

नहीं, HtmlHelp API फ़ंक्शन संख्यात्मक विषयों का समर्थन करने के लिए बहुत ही प्राचीन है। आप .chm फ़ाइल के अंदर देखने के लिए 7-ज़िप फ़ाइल प्रबंधक का उपयोग कर सकते हैं। फ़ाइल पर राइट-क्लिक करें और "अंदरूनी खोलें" चुनें। या उपयोग की जाने वाली सहायता संलेखन उपकरण का उपयोग करें।

4

यदि आप एक सीएचएम फ़ाइल खोलते हैं, और एक सहायता पृष्ठ पर राइट क्लिक करें, तो आप गुण कमांड चुन सकते हैं।
प्रॉपर्टी पेज के मध्य में एक संपत्ति है: पता (यूआरएल)।
यूआरएल के अंत में सहायता पृष्ठ को सही पृष्ठ पर खोलने के लिए उपयोग की जाने वाली विषय स्ट्रिंग होती है। mk: @MSITStore: C:

यहाँ एक उदाहरण है \ Program% 20Files \ Sisulizer% 202,010 \ Sisulizer.chm ::/OutputFiles.htm

तो URL बहुत से विषय को देखने के लिए लंबा है अंत में, आप अपने माउस के साथ पता का चयन कर सकते हैं और अंत तक स्क्रॉल कर सकते हैं।

यहां एक स्क्रीन शॉट है।

enter image description here

+0

कमाल, कर आप क्या कहते हैं HTML फ़ाइल में एक से एक अलग लंगर स्ट्रिंग देता है। यह मदद फ़ाइल की स्क्रॉल स्थिति और बाईं ओर सूची में हाइलाइट की गई सामग्री को बदलता है ('स्पष्ट' एंकर नाम का उपयोग करके केवल पूर्व को बदलता है)। धन्यवाद! –

0

मैं प्रोग्राम रूप CHM से विषयों को पुनः प्राप्त करने के बारे में निश्चित नहीं हूँ। लेकिन मैंने इस तरह एक लाइन कोड बदल दिया और यह काम किया।

Help.ShowHelp(this, path , HelpNavigator.TopicId,"TopicTitle"); 
1

तुम भी निम्नलिखित है, जहां path chm फ़ाइल का पथ है का उपयोग हो सकता है:

using System.Windows.Forms; 

Help.ShowHelp(this, path, HelpNavigator.KeywordIndex, "Topic title");