النتائج 1 إلى 4 من 4

الموضوع: طريقة ربط البرنامج بنوع مخصوص من الملفات

  1. #1
    التسجيل
    22-11-2006
    المشاركات
    300

    طريقة ربط البرنامج بنوع مخصوص من الملفات

    السلام عليكم و رحمة الله
    هذه محاولة رد على سؤال ورد على الـبريد الإلكتروني أرجو أن يكون موفقا
    لربط نوع معين من الملفات ببرنامجك يمكن استعمال أحد الطرق التالية:
    أولا : باستعمال Windows Script Host Object Model

    كود:
    Dim MyKey As WshShell Set MyKey = New WshShellSet 'اسم نوع الملف MyKey.RegWrite "HKEY_CLASSES_ROOT\Test Ext\", "Test Ext", "REG_SZ" 'الأمر المراد تنفيذه لفتح هذا النلوع من الملفات MyKey .RegWrite "HKEY_CLASSES_ROOT\Test Ext\shell\open\command\", "C:\Test.exe %1", "REG_SZ" ' الأيقونة المختارة لتمثيل هذا النوع من الملفات, في هذا المثال اخترنا الأيقونة الثالثة المحتواة في Test.exe 'الأيقونة الأولى تحمل الـ index 0 MyKey.RegWrite "HKEY_CLASSES_ROOT\Test Ext\DefaultIcon\", "C:\Test.exe,2", "REG_SZ" "" 'اللاحقة الموافقة لهذا النوع من الملفات MyKey .RegWrite "HKEY_CLASSES_ROOT\.jmr\", "Test Ext", "REG_SZ"
    باستعمال دوال الـ API
    كود:
    Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA"(ByVal hKey As Long, ByVal lpSubKey As String,phkResult As Long) As Long Private Declare Function RegSetValue Lib "advapi32.dll" Alias "RegSetValueA"(ByVal hKey As Long, ByVal lpSubKey As String,ByVal dwType As Long, ByVal lpData As String,ByVal cbData As Long) As Long Private Const HKEY_CLASSES_ROOT = &H80000000 Private Const MAX_PATH = 255 Private Const REG_SZ = 1 Private Sub cmdAssocExt_Click() Dim MyKey As Long Call RegCreateKey(HKEY_CLASSES_ROOT, "Test Ext", MyKey ) Call RegSetValue&(MyKey , "", REG_SZ, "Test Ext", 0&) Call RegSetValue&(MyKey , "shell\open\command", REG_SZ, "C:\Test.exe %1", MAX_PATH) Call RegSetValue&(MyKey , "DefaultIcon", REG_SZ, "C:\Test.exe,2", MAX_PATH) Call RegCreateKey&(HKEY_CLASSES_ROOT, ".ext", MyKey ) Call RegSetValue&(MyKey , "", REG_SZ, "Test Ext", 0&) End Sub


  2. #2
    التسجيل
    22-11-2006
    المشاركات
    300

    رد: طريقة ربط البرنامج بنوع مخصوص من الملفات

    ثالثا باستعمال الـ Ino Setup
    إذا كان برنامج تنصيب التطبيق قد تم إنشاؤه بواسطة الـ Ino Setup فإننا نستطيع استعمال سكريبتات هذا الأخير لإنشاء هذا الربط.... و أسهل طريقة لذالك أن نقوم بانشاء برنامج التنصيب بواسطة الـ Wisard المرفق مع الـ VB للحصول على ملف الـ Setup.lst ثم نقوم بتحميل برنامج ISTools و بعد تنصيبه نقوم بفتح ملف الـ Setup.lst السابق ذكره بواسطة الـ ISTools لنحصل على سكريبت Ino Setup جاهز و من خلال قائمة Project/Create Association... نقوم بملء بعض الملعلومات في النافذة التي سيتم فتحها ... وبعد الضغط على موافق سيتم إضافة السكريبت اللازم تلقائيا ..........................بعد حفظ الملف ما علينا إلا فتحه ببرنامج الـ Ino Setup لإنشاء برنامج التنصيب المطلوب.

    للتنبيه يجب أن لا ننسى أن ندرج قبل كل هذا الكود المناسب لاسترجاع سطر الأوامر . على سبيل المثال ندرج الكود التالي في الإجراء Sub Main أو Form_Load

    كود:
    Dim args() As String args = Split(Command(), " ")
    ثم نقوم بمعالجة القيم النصية الموجودة في الجدول args
    تم.

    تقطعت آمالنا وعزتك إلا منك, وخاب رجاؤنا و حقك إلا فيك

    إن أبطأت غارة الأرحام وابتـعدت ##### فأقرب الشيء منا غارة الله
    ياغارة الله جدّي السير مسرعـــة
    ##### في حل عقدتنا يا غـارة الله
    التعديل الأخير تم بواسطة أبو هاجر الحلوة ; 31-12-2008 الساعة 12:19 AM


  3. #3
    التسجيل
    03-08-2004
    الدولة
    تركيا
    المشاركات
    3,755

    رد: طريقة ربط البرنامج بنوع مخصوص من الملفات

    وعليكم السلام ورحمة الله وبركاته
    كيف حالك اخي العزيز ان شاء الله بخير
    والله ما كان عندي معرفة بخصوص الكود الاول ( ممتاز )

    ان شاء الله اشوفك بخير

  4. #4
    التسجيل
    22-11-2006
    المشاركات
    300

    رد: طريقة ربط البرنامج بنوع مخصوص من الملفات

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

    اقتباس المشاركة الأصلية كتبت بواسطة Argonaut مشاهدة المشاركة
    والله ما كان عندي معرفة بخصوص الكود الاول ( ممتاز )
    الله يرحم أيام الفجوال بيسك............و إن شاء الله يعوض الله عليه علينا بأحسن منه

    اقتباس المشاركة الأصلية كتبت بواسطة Argonaut مشاهدة المشاركة
    ان شاء الله اشوفك بخير
    إن شاء الله تخف المشاغل و نتفرغ للمنتدى كما في الأيام الجميلة


ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •