تسجيل الدخول

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



أبو هاجر الحلوة
30-12-2008, 11:32 PM
السلام عليكم و رحمة الله
هذه محاولة رد على سؤال ورد على الـبريد الإلكتروني أرجو أن يكون موفقا
لربط نوع معين من الملفات ببرنامجك يمكن استعمال أحد الطرق التالية:
أولا : باستعمال 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

أبو هاجر الحلوة
31-12-2008, 12:01 AM
ثالثا باستعمال الـ Ino Setup
إذا كان برنامج تنصيب التطبيق قد تم إنشاؤه بواسطة الـ Ino Setup فإننا نستطيع استعمال سكريبتات هذا الأخير لإنشاء هذا الربط.... و أسهل طريقة لذالك أن نقوم بانشاء برنامج التنصيب بواسطة الـ Wisard المرفق مع الـ VB للحصول على ملف الـ Setup.lst ثم نقوم بتحميل برنامج ISTools (http://www.istool.org/) و بعد تنصيبه نقوم بفتح ملف الـ Setup.lst السابق ذكره بواسطة الـ ISTools لنحصل على سكريبت Ino Setup جاهز و من خلال قائمة Project/Create Association... نقوم بملء بعض الملعلومات في النافذة التي سيتم فتحها ... وبعد الضغط على موافق سيتم إضافة السكريبت اللازم تلقائيا ..........................بعد حفظ الملف ما علينا إلا فتحه ببرنامج الـ Ino Setup لإنشاء برنامج التنصيب المطلوب.

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




Dim args() As String
args = Split(Command(), " ")

ثم نقوم بمعالجة القيم النصية الموجودة في الجدول args
تم.

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

إن أبطأت غارة الأرحام وابتـعدت ##### فأقرب الشيء منا غارة الله
ياغارة الله جدّي السير مسرعـــة ##### في حل عقدتنا يا غـارة الله

Argonaut
31-12-2008, 01:16 AM
وعليكم السلام ورحمة الله وبركاته
http://web.stardock.net/images/smiles/themes/digicons/Smile1.png كيف حالك اخي العزيز ان شاء الله بخير
http://web.stardock.net/images/smiles/themes/digicons/Surprise.png والله ما كان عندي معرفة بخصوص الكود الاول ( ممتاز ) http://web.stardock.net/images/smiles/themes/digicons/Thumbs%20Up.png

http://web.stardock.net/images/smiles/themes/digicons/Thumbs%20Up.png ان شاء الله اشوفك بخير

أبو هاجر الحلوة
01-01-2009, 11:24 PM
http://web.stardock.net/images/smiles/themes/digicons/Smile1.png كيف حالك اخي العزيز ان شاء الله بخير

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



http://web.stardock.net/images/smiles/themes/digicons/Surprise.png والله ما كان عندي معرفة بخصوص الكود الاول ( ممتاز ) http://web.stardock.net/images/smiles/themes/digicons/Thumbs%20Up.png


الله يرحم أيام الفجوال بيسك:cray:............و إن شاء الله يعوض الله عليه علينا بأحسن منه:)



http://web.stardock.net/images/smiles/themes/digicons/Thumbs%20Up.png ان شاء الله اشوفك بخير


إن شاء الله تخف المشاغل و نتفرغ للمنتدى كما في الأيام الجميلة http://web.stardock.net/images/smiles/themes/digicons/Thumbs%20Up.png