سؤال

أحاول الحصول على ملف CHM لفتحه على موضوع محدد باستخدام C#.

لقد حاولت استخدام

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

لكنه لا يجد الصفحة. يجب ألا أتعامل مع عنوان الموضوع بشكل صحيح. هل هناك طريقة يمكنني من خلالها استرداد جميع الموضوعات من ملف CHM بشكل برمجي حتى أتمكن من رؤية ما هي؟

هل كانت مفيدة؟

المحلول

لا ، وظيفة API HTMLHELP بدائية للغاية لدعم موضوعات التعداد. يمكنك استخدام مدير ملفات 7-ZIP للنظر داخل ملف .chm. انقر بزر الماوس الأيمن فوق الملف واختر "فتح الداخل". أو استخدم أداة تأليف المساعدة التي تم استخدامها.

نصائح أخرى

إذا قمت بفتح ملف CHM ، وانقر بزر الماوس الأيمن على صفحة المساعدة ، فيمكنك اختيار أمر الخصائص.
في منتصف صفحة الخصائص ، يوجد خاصية تسمى: العنوان (url).
تحتوي نهاية عنوان URL على سلسلة الموضوع المستخدمة لفتح ملف المساعدة على الصفحة الصحيحة.

فيما يلي مثال: MK: msitstore: c: program ٪ 20files sisulizer ٪ 202010 sisulizer.chm ::/outputfiles.htm

إذا كان عنوان URL طويلًا جدًا لرؤية الموضوع في النهاية ، فيمكنك تحديد العنوان مع الماوس والتمرير إلى النهاية.

هنا هي لقطة الشاشة.

enter image description here

يمكنك أيضًا استخدام ما يلي ، حيث path هو الطريق إلى ملف CHM:

using System.Windows.Forms;

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

لست متأكدًا من كيفية استرداد الموضوعات برمجيًا من CHM. لكنني غيرت رمز السطر الواحد بهذه الطريقة وعملت.

Help.ShowHelp(this, path , HelpNavigator.TopicId,"TopicTitle");
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top