12-09-14, 04:49 PM
بسم الله الرحمن الرحيم
في البداية أحب أوضح إن هذا الموضوع منقول من منتدى vb4arab القديم و هو في الأصل للعضو أنس محمود. و تم نقله نظراً لسهولة الشرح..
سنقوم بشرح كيفية عمل امتداد خاص بك و جعل برنامجك الافتراضي لهذا الامتداد في هذا الموضوع وسوف نقوم بعمل مثال على ذلك بمشيئة الله تعالى
=================================
نبدا الشرح
=================================
افتح مشروع جديد بالفيجوال و اضف اليه الأداه RichTextBox ( كمثال لعمل امتداد لملفات نصية ذات تنسيق ) كما في الصورة:-
الان قم بتعديل الكود كما في الصورة
عرف الاجراء التالي الذي نستخدمه فيما بعد ( لتغير قيم الريجيستي ) :-
الان قم باضافة 3 ازرار وغير الخاصية text لكل منهما كالتالي :-
الان في الحدث load للنموذج أكتب الكود التالي :-
الآن يتوجب عليك الحصول على أيقونة للامتداد ، هذه كمثال :-
الان أذهب الى الحدث click الخاص بزر التسجيل وأكتب به هذا الكود :-
والان الى زر الحفظ ( لاحظ كتابة امتدادك ) :-
كود تغيير لون الخط المحدد ( طبعا ده برة الموضوع ولكن علشان نتأكد أن الملف سيحتفظ بتنسيقه ) :-
الان شغل البرنامج واضغط على تسجيل البرنامج :-
تم صنع الامتداد بنجاح !!
الان قم بعمل اي حاجة في المثال ده وغير اللون ( للتأكد من حفظ التنسيق ):-
الان اضغط على حفظ واكتب اسماً لما قمنا بعمله واحفظه في اي مكان ( على سطع المكتب مثلاً ) :-
الان اذهب الى المكان الي حفظت فيه الملف ، وشوف الملف :-
في حالة عدم ظهور الايقونة اعد تشغيل الجهاز
طيب شغل الملف كده ( أضغط على الملف مرتين ) :-
تلاحظ تم فتح الملف ، وبذلك أصبح البرنامج أفتراضي للامتداد ( ans ) ،
تعالو نفتح الملف بالوورد كدة !!! ( زيادة في التأكيد !!!! ) :-
أختار الوورد من قائمة open with :-
تلاحظ تم فتح الملف كما في الصورة :-
هذا هو كود البرنامج عشان مسحت المثال :-
هذا كل شئ !!
بقلم العضو : أنس محمود
ملاحظة: في Windows 7/Vista ستحتاج لتشغيل برنامجك كمسؤول لتنفيذ كود التسجيل/الإعداد و يمكنك الإطلاع على كيفية عمل ذلك بالضغط هنا
والسلام عليكم ورحمة الله وبركاته
في البداية أحب أوضح إن هذا الموضوع منقول من منتدى vb4arab القديم و هو في الأصل للعضو أنس محمود. و تم نقله نظراً لسهولة الشرح..
سنقوم بشرح كيفية عمل امتداد خاص بك و جعل برنامجك الافتراضي لهذا الامتداد في هذا الموضوع وسوف نقوم بعمل مثال على ذلك بمشيئة الله تعالى
=================================
نبدا الشرح
=================================
افتح مشروع جديد بالفيجوال و اضف اليه الأداه RichTextBox ( كمثال لعمل امتداد لملفات نصية ذات تنسيق ) كما في الصورة:-
الان قم بتعديل الكود كما في الصورة
عرف الاجراء التالي الذي نستخدمه فيما بعد ( لتغير قيم الريجيستي ) :-
الان قم باضافة 3 ازرار وغير الخاصية text لكل منهما كالتالي :-
الان في الحدث load للنموذج أكتب الكود التالي :-
الآن يتوجب عليك الحصول على أيقونة للامتداد ، هذه كمثال :-
الان أذهب الى الحدث click الخاص بزر التسجيل وأكتب به هذا الكود :-
والان الى زر الحفظ ( لاحظ كتابة امتدادك ) :-
كود تغيير لون الخط المحدد ( طبعا ده برة الموضوع ولكن علشان نتأكد أن الملف سيحتفظ بتنسيقه ) :-
الان شغل البرنامج واضغط على تسجيل البرنامج :-
تم صنع الامتداد بنجاح !!
الان قم بعمل اي حاجة في المثال ده وغير اللون ( للتأكد من حفظ التنسيق ):-
الان اضغط على حفظ واكتب اسماً لما قمنا بعمله واحفظه في اي مكان ( على سطع المكتب مثلاً ) :-
الان اذهب الى المكان الي حفظت فيه الملف ، وشوف الملف :-
في حالة عدم ظهور الايقونة اعد تشغيل الجهاز
طيب شغل الملف كده ( أضغط على الملف مرتين ) :-
تلاحظ تم فتح الملف ، وبذلك أصبح البرنامج أفتراضي للامتداد ( ans ) ،
تعالو نفتح الملف بالوورد كدة !!! ( زيادة في التأكيد !!!! ) :-
أختار الوورد من قائمة open with :-
تلاحظ تم فتح الملف كما في الصورة :-
هذا هو كود البرنامج عشان مسحت المثال :-
كود :
Option Strict Off
Option Explicit On
Imports VB = Microsoft.VisualBasic
Public Class Form1
Inherits System.Windows.Forms.Form
Sub NewFileType(ByRef ProgramPath As String, ByVal Extension As String _
, ByRef FileIcon As String, ByRef Description As String)
Dim W As Object
Dim E As String
W = CreateObject("Wscript.shell")
If VB.Left(Extension, 1) <> "." Then
E = "." & Extension & "\"
Else
E = Extension & "\"
Extension = Mid(Extension, 2)
End If
W.regwrite("HKCR\" & E, Extension & " File")
W.regwrite("HKCR\" & Extension & " File\", Description)
W.regwrite("HKCR\" & Extension & " File\DefaultIcon\", FileIcon)
W.regwrite("HKCR\" & Extension & " File\Shell\Open\Command\", ProgramPath & " %1")
W.regwrite("HKCR\" & Extension & " File\Shell\", "Open")
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim co As New ColorDialog
If co.ShowDialog = Windows.Forms.DialogResult.OK Then
Me.RichTextBox1.SelectionColor = co.Color
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim s As New SaveFileDialog
s.Filter = " ملفات مفكرة أنس(ans)|*.ans"
If s.ShowDialog = Windows.Forms.DialogResult.OK Then
Me.RichTextBox1.SaveFile(s.FileName)
End If
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
NewFileType((Application.ExecutablePath), ("ans") _
, ("F:\أيقونات\1.ico"), (" ملفات أنس "))
MsgBox("تم الاعداد بنجاح")
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Trim(VB.Command()) <> "" Then
If VB.Right(Trim(VB.Command()), 3) = "ans" Then
If Dir(Trim(VB.Command())) <> "" Then
Try
RichTextBox1.LoadFile(Trim(VB.Command()))
Catch ex As Exception
Try
RichTextBox1.LoadFile(Trim(VB.Command()))
Catch eh As Exception
Me.RichTextBox1.Text = My.Computer.FileSystem.ReadAllText(Trim(VB.Command()))
End Try
End Try
End If
End If
End If
End Sub
End Class
بقلم العضو : أنس محمود
ملاحظة: في Windows 7/Vista ستحتاج لتشغيل برنامجك كمسؤول لتنفيذ كود التسجيل/الإعداد و يمكنك الإطلاع على كيفية عمل ذلك بالضغط هنا
والسلام عليكم ورحمة الله وبركاته