طبعا أنا أستخدم vb 2005
أولا - إذا لم تفهموا ما أقصد أذهب إلى أي ملف نصي بالويندوز وأنقر عليه نقرتين سيفتح ببرنامج المفكرة هيك يعني
ثانيا - تسجيل نوع ملف جديدا يعمل ببرنامجك هذا يتم عن طريق الريجيستري في المفتاح :
Hkey_Classess_Root
أفتحوا هذا المسار في الريجستري ستروا مئات تناسيق الملفات أنقروا على أحداها سيظهر لكم مثل هذه الصورة
أنتبهوا إلى مكان الدائرة الحمراء يوجد كلمة Winrar ماذا يعني هذا ؟ تقوم هذه الكلمة يتحديد مسار المجلد في الريجيستري والموجود في
المفتاح :أيضا
Hkey_Classess_Root
كما في الصورة التالية :
الأن أنتبهوا إلى النص داخل الدائرة الحمراء هو نفس النص في الدائرة الحمراء في الصورة الأولى يعني النص النص في الصورة الأولى هو دليل فقط ويوجد فيه
قسمة أفتراضية هي نوع الملف الذي سيظهر تحت أسم الملف في المسكشف
النص في الون الأزرق وهي أيقونة الملف ويمكن تمثيلها إما بمسار ايقونة عادي أو رقم أيقونة داخل ملف تنفيذي يعني :
C:\Program Files\WinRAR\WinRAR.exe,0
والأن دخلنا في القسم الأهم والذي هو دليل النظام (الونيدوز لكي يمرر لبرنامجك مسار الملف ) وهو محدد بالون الأصفر ويتكون من :
مجلد رئيسي هو Shell أي الأوامر مثلنا نجد على بعض الملفات عند ضغط الزر اليميني خيارات زائدة عن الملفات الأخرى ويتفرع من هذا المجلد :
الأوامر ويمكن تسميتها على كيفك وفي الصورة مسمى OPEN
ويتفرع منه مجلد أسمه Command ليس أسمه أختياري مثل المجلد OPEN وفيه القيمة الأفتراضية والتي تحتوي على :
مسار البرنامج وفراغ و ا %1 والتي هي رقم الامر الذي سوف يتم تمريره من قبل النظام وهذا الرقم مهم جدا جدا جدا
والان كيف نعمل ذلك برمجيا
الكود الأول :
Dim RegKey As Microsoft.Win32.RegistryKey
RegKey = Microsoft.Win32.Registry.ClassesRoot.CreateSubKey(".MiCc"")
RegKey.SetValue("", "FileDalil")وهذا الكود لإنشاء مسار في Hkey_Classess_Root يحمل تنسيق الملف
النص ".MiCc" هو تنسيق الملف (نوعه)
النص "FileDalil" هو دليل الملف (كما الون الأحمر في الصورة الأولى)
الأن إنشاء الدليل :
لقد قمنا بتعريف الدليل في الكود السابق على أنه "FileDalil" فيكون الكود :
Dim ConTr As Microsoft.Win32.RegistryKey
ConTr = Microsoft.Win32.Registry.ClassesRoot.CreateSubKey("FileDalil")
ConTr.SetValue("", "Moudar")النص "moudar" هو النص الذي سيظهر تحت أسم الملف
ثم إنشاء المجلدات الفرعية :
المجلد الأول DefaultIcon
ConTr.CreateSubKey("DefaultIcon").SetValue("", icotxt.Text)النص "Icotxt.text" هو مسار أيقونة الملف
المجلد الثاني Shell:
ConTr = ConTr.CreateSubKey("Shell")ثم أنشاء مجلدين فرعيين داخل مجلد ل Shell هما Open و Command
ConTr.CreateSubKey("Open").CreateSubKey("Command").SetValue("", Application.ExecutablePath & " %1")أنتبهوا لقد وضعت فراغ بين مسار البرنامج ول "%1"
الان عند إنشاء ملف من نوع .MiCc ستكون أيقونته هي الأقونة التي حددتها أنت ......
الأن كيف سنأخذ المسار الذي قام النظام بتمريره إلى البرنامج هي بسيكة كثير كثير كثير لقد تعقدت حتى عرفتها !
وهي عن طريق :
My.Application.CommandLineArgs
وهي دالة الأوامر التي تم تمريرها إلى البرنامج وهي قد تكون سطر واحد أو عدة أسطر (قد تكون قد حددت عدة ملفات)
الان كيف تستعملها :
بسطية ضع هذا الكود في حدث Form_load
Dim s As String For Each s In My.Application.CommandLineArgs If IO.File.Exists(s) Then 's هي مسار الملف End If Next
كلمة S هي مسار الملف .
وقد أرفقت برنامج لكي تفهموا الدرس أكثر
وهكذا أكون قد أنهيت الدرس بالتوفيق (h) .