إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

كيفية فتح ملف chm وبمعنى أصح أريد فتح أحد مكوناتة

تقليص
هذا الموضوع مغلق.
X
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • كيفية فتح ملف chm وبمعنى أصح أريد فتح أحد مكوناتة

    بسم الله الرحمن الرحيم

    السلام عليكم ورحمة الله وبركاته

    سؤالى هو كيفية فتح ملف chm وبمعنى أصح أريد فتح أحد مكوناتة حيث من المعروف أن ملف الـــ chm مكون من ملف أو عدة ملفات htm

    أريد طريقة للوصول لفتح أى مكون من مكونات ملف الـــ chm غير طريقة فك ضغطة لأن الحجم سيكبر فى هذة الحالة

    مثال لما أريدة هو عند إضافة أى سكريبت من الأكشن وفى حالة تعديلة يتم الوصول مباشرة إلى الجزء الخاص المراد الإستفسار عنة من خلال ملف الهلب الخاص بالبرنامج والذى هو صيغتة chm

    طبعا لفتح ملف الـــ chm يكون عن طريق الدالة File.Run لمن لا يعرف !!!!! أما المطلوب هو الفتح المباشر أو إختيار مباشر لأحد مكوناتة .

    طبعــــا السؤال للمحترفيـــــــن


  • #2
    وعليكم السلام ورحمة الله وبركاته

    حياك الله أخى عبود

    بعيد عن برمجة الأوتوبلاي هناك برامج كثيرة تقوم بفك محتوى ملف CHM مثل

    http://gridinsoft.com/chm.php

    رابط مباشر

    http://www.gridinsoft.com/downloads/chm.zip

    وبعد تحميله تستطيع استخدام ملفات HTML

    ان شاء الله الأخوة المتخصصين يفيدوك حول سؤالك التخصصي

    تعليق


    • #3
      تحية تقدير لك أخى أبوهمام

      لكن العيب الذى أريد تجنبة هو إذا تم الفك سيكون الحجم حوالى 30 ميجا بايت أما إذا تم معرفة أى طريقة سوف أوفر الكثير من الحجم
      حيث الحجم قبل الفك هو حوالى 10 ميجا فقط .............. أريد تقليل حجم المشروع قدر الإمكان .

      مع العلم أن الأتوبلاى كبرنامج أساسى يعمل ذلك حيث يعمل على الإستدعاء من ملف الهلب بهذة الطريقة
      فأنا أحاول قدر الإمكان تقليد عمل البرنامج بالبرنامج نفســـــة

      إذا لم أوفق فى إيجاد حل من السادة الزملاء سوف أعمل على ضغطة بـــــ Zip وأتعامل معة .

      تعليق


      • #4
        السلام عليكم
        لا أعرف قد يكون هو المطلوب أم لا
        على كل هذا ملف بصيغة chm
        http://www.gulfup.com/?lJgD2z

        بعد فك يوضع في المجلد "Docs"
        في الــ global function
        كود:
        function CloseHelp()
        windows = Window.EnumerateTitles();
        window_name = "Test";
        -- Loop through the table of windows.
        for handle, title in windows do
        result = String.Find(title, window_name, 1, false);
        if (result ~= -1) then
        Window.Close(handle, CLOSEWND_SENDMESSAGE);
        end
        end
        end
        بعدها لو أردنا فتح ملف chm في الصفحة الأولى
        كود:
        CloseHelp()
        File.Run("HH.EXE  -mapid 1001 ms-its:".._SourceFolder.."\\AutoPlay\\Docs\\Test.chm", "", _SourceFolder.."\\Autoplay\\Docs", SW_MAXIMIZE, false);
        استدعاء محتوى الصفحة الثانية
        كود:
        CloseHelp()
        File.Run("HH.EXE  -mapid 1002 ms-its:".._SourceFolder.."\\AutoPlay\\Docs\\Test.chm", "", _SourceFolder.."\\Autoplay\\Docs", SW_SHOWNORMAL, false);
        الصفحة الثالثة
        كود:
        CloseHelp()
        File.Run("HH.EXE  -mapid 1003 ms-its:".._SourceFolder.."\\AutoPlay\\Docs\\Test.chm", "", _SourceFolder.."\\Autoplay\\Docs", SW_SHOWNORMAL, false);
        هذا ماوجدت حاليا
        موفق

        تعليق


        • #5
          شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية

          ممتـــــــاز

          نعــــــــم بالفعـــــــل هو المطلـــــــوب ........... ولكن كيف أعرف أرقام الصفحات من أى رقم ستبدأ ؟ هل هناك طريقة لمعرفة أرقام الصفحات ؟

          وهل هذة " mapid 1003 ms-its " كانت أرقام صفحات كما أظن أم هاندل أم ماذا ؟

          تعليق


          • #6
            هى بارامترات تمرر للتنفيذى hh.exe
            كود PHP:
            [html][/html]12030 is the help context id to pull up.
            ms-itsis a literal string (protocol handler
            يوجد هذا الكوماند لاين الذى يستخدم hh.exe لكن ببارامترات أخرى لفتح صفحة محددة بالإسم
            سأتركك لمحاولت إمراره عبر الأوتوبلاى
            و سأحاول من تاحيتى
            كود PHP:
            C:\>HH.EXE mk:@MSITStore:C:/xTemp/XMLconvert.chm::/Bekannte_Fehler/errxml3.htm 
            فى كل الحالات أنصحك بمراجعة هذه الصفحة
            http://www.help-info.de/en/Help_Info...hh_command.htm

            تعليق


            • #7
              فى مثال أبوبلقيس فهو ناجح 100% .............. ولكن لا ينطبق أو لا تنطبق الأرقام مع ملف الأتوبلاى " ملف الهلب العام "

              فقط أريد أن اعرف كيف يمكن معرفة هذة البارامترات

              تعليق


              • #8
                شكـــــــرا أبو بلقيس مليـــــــــون شكـــــــــــر

                شكـــــــــرا خالد 999 ألف شكـــــــــــر فقط

                تم الوصول إلى كتابة البارامتر على هيئة
                كود PHP:
                HH.EXE ms-its
                ثم يكون موصول مع مسار الملف المراد فتحة الذى صيغتة chm ثم موصول مع المسار الكامل لملف htm المراد فتحة

                فيكون الشكل النهائى لفتح الهلب الخاص بــ Application.GetDialogProperties فقط يكون كالتالى :

                كود PHP:
                File.Run("HH.EXE ms-its:".._SourceFolder.."\\AutoPlay\\Docs\\amshelp.chm::/Program_Reference/Actions/Application.GetDialogProperties.htm"""_SourceFolder.."\\Autoplay\\Docs"SW_SHOWNORMALfalse); 
                أو يوضـــع البارامتر فى مكانة المخصص لة كالتالى :

                كود PHP:
                File.Run("HH.EXE""ms-its:".._SourceFolder.."\\AutoPlay\\Docs\\amshelp.chm::/Program_Reference/Actions/Application.GetDialogProperties.htm"_SourceFolder.."\\Autoplay\\Docs"SW_SHOWNORMALfalse); 

                أشكركــــــم على حســـــــن التعاون

                وبهذا تم الحصـــــــول على الإجـــابة بشكل سليـــــــــم

                تعليق


                • #9
                  و أنا أشكرك ضعف ما ذكرت
                  لمشاركتنا بالحل
                  الذى قد يتطور فى وقت لاحق لبلجن

                  الملف hhctrl.ocx الموجود بالويندوز قد يخضع لجراحة قريبا

                  تعليق


                  • #10
                    المشاركة الأصلية بواسطة النصل القاطع مشاهدة المشاركة
                    الملف hhctrl.ocx الموجود بالويندوز قد يخضع لجراحة قريبا
                    فى الإنتظـــــــار ولكن ما هو وظيفتة قبل الجراحة ؟

                    تعليق


                    • #11
                      ملفات ocx هى ملفات تحكم
                      و طالما التنفيذى ملحق معه ملف تحكم
                      فهذا يعطى الفرصة للتحكم عن طريقه فى التنفيذى و ليس عبر الكوماند لاين

                      ocx و dll يتشابهون كثيرا
                      لكن ocx يتم إستدعاؤها عن طريق luacom
                      غالبا بطريقة create object

                      تعليق


                      • #12
                        حســــــنا أشركنــــــا معــــــك فى الجـــــديد لديك دوما ولا تنسانا .......... تحيـــــاتى

                        تعليق


                        • #13
                          موفق أخي عبود في مسعاك النبيل

                          تعليق


                          • #14

                            تعليق


                            • #15
                              مناقشة بفائدة عظيمة

                              جزيل الشكر لكم جميعا لتحقيق الفائدة

                              تعليق

                              مواضيع تهمك

                              تقليص

                              المنتدى: القسم العام نشرت بواسطة: Reem2Rabeh الوقت: 04-23-2025 الساعة 04:27 PM
                              المنتدى: ضبط وتوكيد الجودة نشرت بواسطة: HeaD Master الوقت: 04-15-2025 الساعة 09:30 AM
                              المنتدى: التصنيع والانتاج نشرت بواسطة: HeaD Master الوقت: 04-11-2025 الساعة 01:08 PM
                              المنتدى: القسم العام نشرت بواسطة: نوال الخطيب الوقت: 03-19-2025 الساعة 03:07 AM
                              المنتدى: الكمبيوتر والإنترنت نشرت بواسطة: عوض السوداني الوقت: 03-18-2025 الساعة 07:22 AM
                              يعمل...
                              X