طريقة ربط البرنامج بنوع مخصوص من الملفات
السلام عليكم و رحمة الله
هذه محاولة رد على سؤال ورد على الـبريد الإلكتروني أرجو أن يكون موفقا
لربط نوع معين من الملفات ببرنامجك يمكن استعمال أحد الطرق التالية:
أولا : باستعمال 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
رد: طريقة ربط البرنامج بنوع مخصوص من الملفات
ثالثا باستعمال الـ 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
تم.
تقطعت آمالنا وعزتك إلا منك, وخاب رجاؤنا و حقك إلا فيك
إن أبطأت غارة الأرحام وابتـعدت ##### فأقرب الشيء منا غارة الله
ياغارة الله جدّي السير مسرعـــة ##### في حل عقدتنا يا غـارة الله
رد: طريقة ربط البرنامج بنوع مخصوص من الملفات
رد: طريقة ربط البرنامج بنوع مخصوص من الملفات
اقتباس:
المشاركة الأصلية كتبت بواسطة Argonaut
على أحسن حال................لولا ما نسمع و نرى من علو أحفاد القردة و الخنازير في الأرض ثم تسلط أرذل الناس على الناس ثم بعد ذلك كله عجز أمة بكاملها عن تغيير الأوضاع............و الحمد لله على كل حال و نعوذ بالله من حال أهل النار.
اقتباس:
المشاركة الأصلية كتبت بواسطة Argonaut
الله يرحم أيام الفجوال بيسك:cray:............و إن شاء الله يعوض الله عليه علينا بأحسن منه:)
اقتباس:
المشاركة الأصلية كتبت بواسطة Argonaut
إن شاء الله تخف المشاغل و نتفرغ للمنتدى كما في الأيام الجميلة http://web.stardock.net/images/smile...humbs%20Up.png