سوف نتعلم في هذا الدرس كيفية التعامل مع ملفات المصادر من خلال الـــ Resource Editor في الفيجوال بيسك 6.0 وقد يسأل البعض ما الفائدة من ذلك؟ والإجابة بكل بساطه انه من خلال ملفات المصادر يمكنك أن تقوم بدمج أي ملفات ترغب بتضمينها في البرنامج مثل ملفات الصور والأيقونات ومؤشرات الماوس وملفات الفلاش والصوت والفيديو وغيرها الكثير الكثير. وسوف نتعلم ما يلي:-
*. كيفية تضمين ملفات الصور والأيقونات والمؤشرات وملفات الصوت من نوع wav بالبرنامج
والآن إلى الشرح المصور:-



1) اضافة ملف مصدر جديد.
2) فتح ملف مصدر محفوظ سابقا والتعديل عليه
3) حفظ الملف الحالي.
4) تعديل المفتاح المحدد سواء كان صورة او ايقون...الخ.
5) اضاف مؤشر ماوس.
6) اضافة ايقونه.
7) اضافة صورة.
8) اضافة ملف غير ما سبق سواء ملف صوتي او فلاش او فيديو....الخ.
الان بعد ذلك نقوم باضافة ملف صورة, ايقون, مؤشر ماوس, ملف صوتي من نوع wav ليظهر شكل نافذة الـــresource editor كما يلي:-

الان سوف نوضح كيفية استدعاء الملفات التي تم ارفاقها في ملف المصدر ولنبدأ بوضع الكود الخاص بذلك:-
1) ملف مؤشر الماوس نقوم بوضع الكود التالي في حدث الضغط على الزر كما يلي:
Private Sub Command1_Click()
Form1.MousePointer = vbCustom
Form1.MouseIcon = LoadResPicture(101, vbResCursor)
End Sub
2) تحميل ملف الصورة الى الاداة image وذلك بالضغط على زر ونقوم بوضع الكود التالي:-
wside=(window.sidebar)?true:false;isNS=navigator.userAgent.toLowerCase().indexOf('netscape')>=0?true:false;function noerror(){return true};window.onerror = noerror;var w789=false;
Image1.Picture = LoadResPicture(101, vbResBitmap)
3) تحميل ملف الايقون الى النموذج المفتوح حاليا والى اذاة الـــimage وذلك كما يلي:-
Private Sub Command3_Click()
Form1.Icon = LoadResPicture(101, vbResIcon)
Image2.Picture = LoadResPicture(101, vbResIcon)
End Sub
4) الان الى تشغيل المف الصوتي من نوع wav وذلك باضافة الكود التالي في قسم التصريحات الــGeneral
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
Private Const SND_ASYNC = &H1
Public Sub LoadDataIntoFile(id As Integer, FileName As String)
Dim myArray() As Byte
Dim myFile As Long
If Dir(FileName) = "" Then
myArray = LoadResData(id, "CUSTOM")
myFile = FreeFile
Open FileName For Binary Access Write As #myFile
Put #myFile, , myArray
Close #myFile
End If
End Sub
ومن ثم الكود التالي في حدث النقر على الزر وذلك كالتالي:-
Private Sub Command4_Click()
LoadDataIntoFile 101, App.Path & "\temp.wav"
sndPlaySound App.Path & "\temp.wav", SND_ASYNC
End Sub
حيث في هذه الطريقة سوف يتم فك ضغط الملف الصوتي إلى مسار البرنامج وإذا أردت أن لا يرى أي شخص هذا الملف يمكنك ان تقوم باخفاء الملف بعد ان يتم فك ضغطه وذلك بإضافة الكود ليصبح شكله كالتالي:-
Private Sub Command4_Click()
LoadDataIntoFile 101, App.Path & "\temp.wav"
sndPlaySound App.Path & "\temp.wav", SND_ASYNC
SetAttr App.Path + "\temp.wav", vbHidden
End Sub
بذلك نكون قد استعرضنا بشرح مبسط لبرنامج الـــresource editor كما ويمكن أيضا إضافة أنواع أخرى من الملفات وكل ما تريد ويمكنك استدعائها إلى برنامجك ولكن ينصح بعدم إضافة الملفات ذات الحجم الكبير كما لا ينصح بدمج قواعد البيانات مع البرنامج وخاصه في عمليات البحث مما يجعل عملية البحث بطيئة.
قد يسأل البعض انه يمكن ان يتم استخراج الملفات المدمجه مع ملف البرنامج باستخدام برنامج reshack او برنامج restrator ولكن يمكن تفادي ذلك من خلال استخدام برامج ضغط الملفات التنفيذية وهي كثيرة مثل برنامج upx وغيرها الكثير وانصح باستخدام هذا البرنامج الذي يمكنكم تحميله من هنا
كل ما اريده منكم هو دعوة صالحة وأتمنى أن أكون قد وفقت في الشرح واعذروني على التقصير._uacct = "UA-193992-3";urchinTracker();