سلام
با استفاده از resource editor مي توان انواع و اقسام فايل ها مانند آيکون،تصوير،متن و ...... هرنوع فايل ديگه رو درون فايل اجرايي برنامه مخفي کرد و بعد اون رو فراخواني کرد.
حالا ويژوال بيسيک رو باز کنيد و يه پروژه ي جديد بياريد.
در منوي Add-Ins روي Add-Ins Manager کليک کنيد.يه پنجره با نام Add-Ins Manager باز ميشه که يه ليست داره از اين ليست VB 6 Resource Editor رو روش دوبار کليک کنيد تا جلوي اون بنويسه Loaded و بعد ok کنيد تا به محيط اصلي ويژوال بيسيک برگرده
حالا همون منوي Add-Ins رو کليک کنيد،مي بينيد که يه گزينه ي جديد اومده به نام VB Resource Editor اونو کليک کنيد تا يه برنامه به نام VB Resource Editor باز بشه
در پنجره ي باز شده در قسمت تولبار اون بالا ميبينيد که چندتا ايکون هست که اولي روش نوشته abc ، از طريق اين گزينه مي تونيد متن رو ذخيره کنيد
اگه روش کليک کنيد مي بينيد که يه پنجره با نام Edit String Tables باز ميشه و در اون يه محل براي ذخيره ي متن هست که مي تونيد شروع به تايپ متن کنيد
در کنار اون ايکون يه ايکون ديگه هست که عکس ساعت شني روشه ،از طريق اين گزينه مي تونيد شکلک هاي موس يا همون Cursor با پسوند cur رو ذخيره کنيد
اگه روش کليک کنيد يه پنجره باز ميشه که محل شکلک موس رو از شما مي پرسه ايکون بعدي عکس يه صفحه هست که گوشه ي اون تا خورده ، از طريق اين گزينه مي تونيد ايکون ها رو ذخيره کنيد با پسوند ico و اگه روش کليک کنيد يه پنجره باز ميشه که از شما ادرس ايکون رو مي پرسه
ايکون بعدي يه عکس هست که از طريق اين گزينه مي تونيد عکس ها رو ذخيره کنيد، البته فقط عکسها با پسوند bmp ، اونم مثل بقيه اگه روش کليک کنيد يه پنجره باز ميشه که ارس عکس رو ميپرسه
و اخرين ايکون که به صورت مربع چهار خونه هست مربوط ميشه به بقيه ي فايل ها يا همون *.* و اونم مثل بقيه در صورتي که روش کليک کنيد يه پنجر باز ميشه که ادرس فايل مرود نظرتون رو مي پرسه
خوبب بعد از اينکه فايل هاي مورد نظرتون رو اضافه کرديد نوبت مي رسه به استفاده از اونا
حتما متوجه شديد که وقتي يه فايل رو اضافه مي کرديد بهش يه شماره تعلق مي گرفت که معمولا اين شماره هاست 101,102,103,104,.... به اين شماره ها ID فابل ميگند که براي تغيير اون مي تونيد روش دابل کليک کنيد و در پنجره ي باز شده در قسمت id هرچي خواستيد بنويسيد طريقه ي استفاده از اين فايل ها بستگي به نوع اون داره که تک تک اونا رو ميگم
1-اگه شما يه متن رو اضافه کرده باشيد(ايکون اولي که روش نوشته abc ) بايد اين دستو ر رو براش بنويسيد:
LoadResString( id )
که به جاي id بايد ايدي ي اون متن رو بنويسيد. مثلا
Form1.caption = LoadResString(101)
2-اگه شما يه شکلک موس رو ذخيره کرده باشيد (ايکون دوم که عکس ساعت شني داشت) بايد اين دستور رو براش بنويسيد
LoadResPicture( id , ResType )
در اين دستور بايد به جاي id اي دي فايل رو بنويسيدو به جاي ResType نوع فايل که در اينجا چون شکلک موس رو مي خوايد لود کنيد بايد عدد 2 رو به جاش بنويسيد مثلا
Form1.Mouseicon = LoadResPicture (101 , 2)
3-اگه شما يک ايکون رو ذخيره کرده باشيد مي تونيد اونو از اين طريق فراخواني کنيد
LoadResPicture ( id , ResType )
اينم مثل قبل بايد به جاي id اي دي فايل رو بذاريد و به جاي ResType نوع فايل که اينجا چون فايل ما ايکون هست از عدد 1 به جاي اون استفاده کنيد. مثلا
Form1.Icon = LoadResPicture ( 101 , 1 )
4-اگه شما يه فايل تصويري (با پسوند bmp چهارمين ايکون که توضيح دادم)ذخيره کرده باشيد از طريق اين کد اونو فراخواني کنيد
LoadResPicture ( id, ResType )
اينم مثل قبل بايد به جاي id اي دي فايل و به جاي ResType نوع فايل که چون فايل تصويري هست از از عدد 0 به جاي اون استفاده مي کنيم .مثال
Picture1.Picture = LoadResPicture ( 101 , 0)
5- و در آخر فايل با هر پسوندي که خواستيد(ايکون با مربع چهار خونه که توضيح دادم)
اين يکي با بقيه فرق داره اول از همه شما بايد اونو لود کنيد و بعدش اونو داخل يه فايل خارج از برنامتون بذاريد تا بتونيد از اون استفاده کنيد.
دستور اوليه ي لود کردن اينه
LoadResData( id , ResType)
حالا يه نمونه کد مي ذارم و خط به خط توضيح ميدم
Dim SoundBuffer As String
Buffer = StrConv(LoadResData(101, "CUSTOM"), vbUnicode)
Open "c:\custom.*" For Output As #1
Print #1, Buffer
Close #1
در خط اول ما يه متغير از نوع string تعريف کرديم.
درخط دوم فايلي که در resource گذاشتيم رو تبديل و در buffer لود کرديم.
در خط سوم يه فايل درست کرديم با پسوند * که شما بايد به جاي * نوع فايلتون رو بنويسيد مثلا فايل mp3 (توجه کنيد نوع فايل بايد با نوع فايلي که قبلا به resource اضافه کرديد يکي باشه ).
در خط چهارم محتويات buffer که قبلا فايل مورد نظرمون رو توش لود کرديم به داخل فايلي که در خط سوم درست کرديم ميريزه.
و در خط پنجم فايلي که در خط سه درست و باز کرديم رو مي بنده.
Private Sub Command1_Click()
Dim file() As Byte
file = LoadResData(101, "CUSTOM")
Open "c:\1.exe" For Binary As #1
Put #1, 1, file()
Close #1
Shell "Explorer.exe c:\1.exe"
End Sub
و در آخرم یک پروژه ی آماده برای شما دوست عزیز
ممنون
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید