-
نحوه كار با فايلهاي Resource و برنامه Resource Editor
سلام بچه ها
میشه به من بگین چطوری میتونم فایلهایی که تو برنامم دارم مثلا چند تا عکس رو توی این فایل قرار بدم تا از چشم کاربر مخفی باشه و چطوری بتونم دوباره این عکسها رو از این فایل استخراج کنم .
یک جیزایی میدونم مثلا چطور عکسامو به فایل اضافه کنم و اینکه هر فایلی که اضافه میکنم یک شماره شناسایی داره که باید طبق اون ، فایل استخراج بشه ولی نمیدونم چطور فایلها یی رو که توی Res هستش رو استخراج و نشون بدم.
چند تا سوال دیگه هم دارم ممنون میشم جواب بدین:
1بعد از کامپایل برنامه، این فایل در کجا قرارمیگیره؟
2 هنگام ساختن Setup باید این فایل رو کنار فایل exe قرار بدم ؟(منظورم برنامه های Setup سازه)
3 اگه فایل هایی که دارم داخل یک پوشه باشه و بخوام ار اونجا توسط Res به برنامه بچسبه باید چیکار کنم؟
و نکته آخر اینکه بابت راهنمایی هایی که خواهید کرد ازتون کمال تشکر و دارم .:چشمک:
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
دوست عزیز اگر جستجو میکردید زودتر به نتیجه میرسیدید
نقل قول:
فایل هایی با پسوند Res دز ویژوال چیه؟ :متفکر:
Res یعنی Resource یا همون فایل منبع .
نقل قول:
به چه درد می خوره؟ :متفکر:
شما با Res میتونید هر فایلی رو با هر فرمتی در برنامه به صورت آماده داشته باشید و در موقع نیاز از اون استفاده کنید . در کل استفاده های متنوع و فراوانی داره !
چه طوری میشه از این فایل ها ایجاد کرد؟ :متفکر:
برای این کار از منوی Add-Ins زیر منوی ... Add-Ins Manager رو انتخاب کنید .
از پنجره باز شده گزینه VB 6 Resource Editor رو انتخاب کنید ، و از قسمت پایین همین پنجره ( فریم Load Behavior ) تیک گزینه های Loaded\Unloaded و Load On StartUp رو فعال کنید و بر روی دکمه Ok کلیک کنید تا پنجره بسته شه .
بعد از این کار یک شرتکات به نام VB6 Resource Editor به قسمت Shortcut Bar ویژوال بیسیک اضافه میشه . ( رنگ شرتکات سبز خواهد بود )
حال با کلیک بر روی شرتکات فوق الذکر پنجره ریسورس ادیتور باز میشه .
و حلا دیگه کافیه بر روی دکمه های مورد نظر کلیک کنید و فایل مورد نظرتون رو به ریسورس اضافه کنید .
بعد از اضافه کردن فایل ها ، هر فایل اضافه شده یک ID میگیره که در موقع استفاده به آن اشاره میشه .
نحوه استفاده :
Private Sub Form_Load()
Dim c() As Byte
c = LoadResData(101, "CUSTOM")
Open "c:\FileName.exe" For Binary As #1
Put #1, , c()
Close #1
Call Shell("c:\FileName.exe")
End Sub
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
نقل قول:
دوست عزیز اگر جستجو میکردید زودتر به نتیجه میرسیدید
جدی جست و جو کردم ولی چیزی پیدا نکردم .
از راهنماییتون ممنون ولی تا اینجا که توضیح دادین رو من بلدم فقط میشه بایک مثال عملی این توضیحات رو انجام بدین.مثلا همون چیزی که گفتم داخل فایل Res یک عکس به شماره 101 هستش که بعد از اینکه command 1 زده شد این عکس داخل picture 1 نمایش داده بشه.
درضم شما که اطلاعات خوبی درباره فایل Res دارین میشه به سوالاتی هم که پرسیدم جواب بدین.
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
سلام دوست عزیز .
Private Sub Command1_Click()
Picture1.Picture = LoadResPicture(101, vbResBitmap)
End Sub
موفق باشی .
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
ممنون دوستان من قضیه این فایلها رو فهمیدم که چیه و تونستم ازشون استفاده کنم ولی بازم یک سوال دارم مثلا میخوام فایل هام تو پوشه Temp ویندوز، داخل یک پوشه که مثلا اسم برناممه قرار بگیره و فایلها مو از اونجا بخونم ولی وقتی تو Form Load مسیر رو میدم پوشه جدید رو داخل Temp ایجاد نمیکنه چی کار کنم .:چشمک:
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
اگه شما می خواید عکس رو داخل ریسورس قرار بدی بهتره با روش بالا مستقیم فایل رو بخونی و نمایش بدی !
نقل قول:
ولی وقتی تو Form Load مسیر رو میدم پوشه جدید رو داخل Temp ایجاد نمیکنه چی کار کنم
ابتدا باید پوشه مورد نظر رو ایجا بعد فایل ها رو داخلش کپی کنید .
برای ساخت پوشه هم نمونه کد تو سایت فراونه !
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
نقل قول:
برای ساخت پوشه هم نمونه کد تو سایت فراونه !
MkDir "C:\New Folder"
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
ببخشید دوست عزیز شما برای عکس یه مثال نوشتید میشه خواهش کنم یه مثال هم درباره کامپوننت بنویسید :
مثلا یه مثال بنویسید که برنامه اکتیو ایکس هارو از داخل یه فایل RES بخونه و برنامه رو اجرا کنه بدونه اینکه اکتیوایکس هارو تو فولدر System32 کپی کنه بعد برنامه اجرا شود .
راستی دوست عزیز وقتی کامپوننتهارو وارد یه فایل RES کردیم بازم باید کامپوننتها توی یه فولدر کنار برنامه باشه یا اینکه چون توی یه فایل RES هست دیگه نیاز به کامپوننتها نیست ؟
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
نقل قول:
ببخشید دوست عزیز شما برای عکس یه مثال نوشتید میشه خواهش کنم یه مثال هم درباره کامپوننت بنویسید :
کامپوننت ها اول باید در داخل هارد ذخیره بشن !
نقل قول:
راستی دوست عزیز وقتی کامپوننتهارو وارد یه فایل RES کردیم بازم باید کامپوننتها توی یه فولدر کنار برنامه باشه یا اینکه چون توی یه فایل RES هست دیگه نیاز به کامپوننتها نیست ؟
دیگه نیازی نیست !
اگر توجه کنید بعد از اضافه کردن فایل ریسورس حجم فایل خروجی برنامتون بیشتر شده
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
ممنون دوست عزیز اینها آخرین سوالمن دیگه سوالی ندارم اگه میشه اینهارو هم جواب بدید .
1 ) وقتی کامپوننتها داخل فایل RES رفتند باید برای هرکدام کد بنویسیم یا اینکه وقتی وارد فایل RES شدند دیگه نیازی به هیچ کاری نیست و برنامه موقع اجرا خودش به صورت اتوماتیک کامپوننتها رو از داخل فایل RES میخونه ?
2 ) شما گفتید وقتی کامپوننتها یا چیز های دیگه وارد فایل RES میشن حجم فایل EXE افزایش پیدا میکنه درست ولی برنامه یه فایلی هم ایجاد میکنه با فرمت RES اون هم باید موقع اجرا کنار برنامه باشه یا نه ؟
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
نقل قول:
1 ) وقتی کامپوننتها داخل فایل RES رفتند باید برای هرکدام کد بنویسیم یا اینکه وقتی وارد فایل RES شدند دیگه نیازی به هیچ کاری نیست و برنامه موقع اجرا خودش به صورت اتوماتیک کامپوننتها رو از داخل فایل RES میخونه ?
ببین دوست عزیز
برنامه شما برای اجرا شدن نیاز به کامپوننت هایی داره که در اون به کار رفته
یا باید این کامپوننت ها در system32 باشه و یا در کنار خود برنامه
بدین ترتیب شما فقط برای اولین اجرای برنامتون کامپوننت ها رو استخراج میکنید(با همون کدها)البته باید توجه کنید از اسم خود کاموننت ها استفاده کنید و اسم اوها رو تغییر ندهید
نقل قول:
2 ) شما گفتید وقتی کامپوننتها یا چیز های دیگه وارد فایل RES میشن حجم فایل EXE افزایش پیدا میکنه درست ولی برنامه یه فایلی هم ایجاد میکنه با فرمت RES اون هم باید موقع اجرا کنار برنامه باشه یا نه ؟
اون فایلی که توسط vb ایجاد شده برای اجرای برنامه نیازی نیست
اون فایل یک قسمت از فایلهای پروژه است که برای اجرای پروژه توسط vb مورد استفاده قرار میگیره
باز هم میگم
برنامه خروجی شما که فرمت exe داره دیگه نیازی به اون فایل res نداره !
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
نقل قول:
برنامه شما برای اجرا شدن نیاز به کامپوننت هایی داره که در اون به کار رفته
یا باید این کامپوننت ها در system32 باشه و یا در کنار خود برنامه
بدین ترتیب شما فقط برای اولین اجرای برنامتون کامپوننت ها رو استخراج میکنید (با همون کدها) البته باید توجه کنید از اسم خود کاموننت ها استفاده کنید و اسم اوها رو تغییر ندهید
منظورتون از همون کدها چیه میشه کامل بنویسید :
ببینید من یه برنامه دارم و اکتیوایکس هارو هم توی یه فایل RES گذاشتم حالا شما یه لطفی کنید و کدی که من باید بنویسم تا بتونم از اون اکتیوایکس ها استفاده کنم رو کامل برام بنویسید .
_________________
دوست عزیز شرمنده من یه مبتدیم به خاطر همین باید منو ببخشید که اینقدر از شما سوال میکنم :گیج:
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
نقل قول:
نوشته شده توسط
.:KeihanCPU:.
بابت کد ممنون حالا یک مشکل دیگه درست شد اونم اینه که وقتی برنامه رو برای بار دوم اجرا میکنم میگه همچین پوشه ای وجود داره و error میده اینو چیکار کنم.:چشمک:
من این کد رو توی form load استفاده کردم.
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
نقل قول:
نوشته شده توسط
butterfly8528
سلام دوست عزیز .
Private Sub Command1_Click()
Picture1.Picture = LoadResPicture(101, vbResBitmap)
End Sub
موفق باشی .
از راهنماییتون ممنون ولی نشد که بشه من پسوند عکسم jpg هستش و از قسمت custom به فایل Res اضافه کردم.
میشه اصلاحش کنی.:بوس:
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
شما برای ساخت پوشه از این روش استفاده کنید بهتره :
اول از منوی Project گزینه ی Reference رو انتخاب کنید و توی پنجره ای که باز میشه گزینه Microsoft Scripting Runtime رو پیدا کن و تیک بزن تا فعال شه بعد OK کن تا پنجره بسته بشه بعد برای ساخت پوشه این کد رو بنویس :
Private Sub Form_Load()
On Error Resume Next
Dim x As New FileSystemObject
If x.FolderExists("C:\New Folder") = False Then x.CreateFolder ("C:\New Folder")
End Sub
حالا وقتی برنامه رو اجرا کردی اول میگرده میبینه توی درایو C چنین پوشه ای هست یا نه اگر نبود یدونه میسازه و اگر هم بود که نه ارور میده نه هیچ چی
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
ببینید این کدهای منه:
Private Sub Form_Load()
On Error Resume Next
Dim x As New FileSystemObject
If x.FolderExists("C:\WINDOWS\Temp\wizard") = False Then
x.CreateFolder ("C:\WINDOWS\Temp\wizard")
End If
Dim c() As Byte
c = LoadResData(101, "CUSTOM")
Open "C:\WINDOWS\Temp\wizard\00.jpg" For Binary As #1
Put #1, , c()
Close #1
End Sub
Private Sub Command1_Click()
Picture1.Picture = LoadPicture("C:\WINDOWS\Temp\wizard\00.jpg")
End Sub
با راهنمایی که دوست عزیز Golsha کرد من مشکل پوشم حل شد ولی بازم یک ایرادی هست و اون اینه که با کلیک کردن روی comman1 یک پیغام میده با عنوان Invalid picture حالا بگین چه کنم من.
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
همین دیگه دوست عزیز مشکل شما تو ساخت پوشه است حالا این رو امتحان کن ببین جواب میده یا نه :
Private Sub Form_Load()
On Error Resume Next
Dim X As New FileSystemObject
If X.FolderExists(RootFolder & "\Temp") = False Then
X.CreateFolder (RootFolder & "\Temp")
End If
If X.FolderExists(RootFolder & "\Temp\wizard") = False Then
X.CreateFolder (RootFolder & "\Temp\wizard")
End If
Dim C() As Byte
C = LoadResData(101, "CUSTOM")
Open RootFolder & "\Temp\wizard\00.jpg" For Binary As #1
Put #1, , C()
Close #1
End Sub
Private Sub Command1_Click()
Picture1.Picture = LoadPicture(RootFolder & "\Temp\wizard\00.jpg")
End Sub
شما باید اول پوشه Temp رو بسازید بعد پوشه Wizard رو نه اینکه جفتش رو با هم بسازید
راستی این RootFolder که نوشتم مسیر پوشه WINDOWS است یه وقت نگی این چیه .
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
البته میتونین قسمت ساخت پوشه رو در یک روال بذارید و با دستور on error resume next اون ارور رو نادیده بگیرید.
نقل قول:
منظورتون از همون کدها چیه میشه کامل بنویسید :
Dim c() As Byte
c = LoadResData(101, "CUSTOM")
Open "c:\Windows\System32\Mswinsck.ocx" For Binary As #1
Put #1, , c()
Close #1
شما فقط کافیه یکبار اونم در اولین اجرا این کد رو اجرا کنید
دفعه های بعد چون کامپوننت قبلا استخراج شده نیازی نیست
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
نقل قول:
راستی این RootFolder که نوشتم مسیر پوشه WINDOWS است یه وقت نگی این چیه .
ممنون از راهنماییت ولی یک چیزی یادت رفته بود این RootFolder مسیر درایویه که ویندوز اونجا نصب شده باید یک WINDOWS قبل از Temp اضافه کنی.
نقل قول:
البته میتونین قسمت ساخت پوشه رو در یک روال بذارید و با دستور on error resume next اون ارور رو نادیده بگیرید.
بله همین کاری که گفتین رو انجام دادم و مشکل حل شد.از راهنماییتون ممنون.:چشمک:
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
نقل قول:
Dim c() As Byte
c = LoadResData(101, "CUSTOM")
Open "C:\Windows\System32\Mswinsck.ocx" For Binary As #1
Put #1, , c()
Close #1
دوست عزیز این کدی که نوشتید فقط برای یه فایله اگه خواستیم 50 تا فایل کپی شه اون وقت باید برای هرکدام این کد را یکبار بنویسیم یا کد و راه حل ساده تری هم وجود داره ؟؟؟ ( اگه میشه کدی که مثلا 50 تا فایل رو کپی کنه رو برام بنویسید :لبخند: )
گفتید این RootFolder مسیر WINDOWS نیست پس برای مسیر ویندوز از چی استفاده کنیم چون همه ویندوز ها که اسم پوشه ویندوزشون WINDOWS نیست ، مثلا ویندوز MRT اسم این پوشه رو گذاشته WINXPSP2 و چیزهای دیگه ای هم من دیدم که اینجوریند و اگه برنامه یه پوشه با این اسم دید ارور میده . :متفکر:
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
نقل قول:
پس برای مسیر ویندوز از چی استفاده کنیم
Winpath=Environ("Windir")
نقل قول:
اگه خواستیم 50 تا فایل کپی شه اون وقت باید برای هرکدام این کد را یکبار بنویسیم یا کد و راه حل ساده تری هم وجود داره ؟؟؟
اگر تعداد فایلهایی که میخواین ریسورس کنید زیاد باشه اونم در این حد استفاده از ریسورس اصلا کار عاقلانه ای نیست چون حجم فایل اجرایی به شدت بالا میره.در این صورت بهتره از برنامه های ستآپ ساز استفاده کنید که آموزششون در سایت زیاده
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
ببخشيد دوست عزيز يه مشكل ديگه پيدا شد اونم اينه كه من تو برنامه ام از 5 تا كامپوننت استفاده كردم كه دو تا از اونا اين هاست :
COMDLG32.OCX و RICHTX32.OCX
كامپوننتهاي ديگه مشكلي نداره ولي اين دوتا كه اسمشون رو نوشتم بعد از اينكه از داخل فايل RES توي system32 كپي شد برنامه ارور ميده ، اگه ميشه راهنماييم كنيد تا درستش كنم .
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
راستي دوستان براي كپي فونت چي كار كنم اين كُديه كه من توي فورم لود نوشتم ولي فونت ها كپي نميشند :
Private Sub Form_Load()
Dim T() As Byte
T = LoadResData(101, "FONT")
Open Environ("windir") & "\Fonts\Calibri.ttf" For Binary As #1
Put #1, , T()
Close #1
End Sub
اگه ميشه امتحانش كنيد ببينيد مشكل از كجاست ::.
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
نقل قول:
پس برای مسیر ویندوز از چی استفاده کنیم چون همه ویندوز ها که اسم پوشه ویندوزشون WINDOWS نیست ، مثلا ویندوز MRT اسم این پوشه رو گذاشته WINXPSP2 و چیزهای دیگه ای هم من دیدم که اینجوریند و اگه برنامه یه پوشه با این اسم دید ارور میده . :متفکر:
سلام
دوست عزیز من مثال پیدا کردن پوشه ویندوز و فایل Res رو باهم نوشتم درست کار کرد. کدی که مربوط به مسیر پوشه ویندوز هستش مربوط به تمام ویندوزهایی است که ممکنه اسم پوشه ویندوزشون فرق کنه .
درضم باید از منوی Project آیتم Refrencese را انتخاب کنی و از آن آیتم Microsoft Script Runtime را تیک بزنی .
Private Declare Function GetWindowsDirectory Lib "kernel32" Alias _
"GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long _
) As Long
Public S As String
Private Sub Command1_Click()
Picture1.Picture = LoadPicture(S + "\Temp\00.jpg")
End Sub
Private Sub Form_Load()
S = Space(255)
'Get the Windows directory
WinDirectory = GetWindowsDirectory(S, 255)
S = Left$(S, WinDirectory)
Dim c() As Byte
c = LoadResData(101, "CUSTOM")
Open S + "\Temp\00.jpg" For Binary As #1
Put #1, , c()
Close #1
End Sub
درضم S متغیریه که مسیر پوشه ویندوز داخلشه.:چشمک:
موفق باشی .
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
ممنون از راهنماييتون دوست عزيز اگه ميشه دوتا سوال آخر رو هم جواب بديد . :لبخند::لبخند:
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
سلام بچه ها
من یک فایل Res دارم که توش 8 تا عکس با پسوند bmp هستش چطوری میتونم در یک کد تمام این 8 فایل رو در یک پوشه مثلا Temp ویندوز باز کنم و ازشون استفاده کنم .
البته باید بگم که اسم این 8 تا عکس به ترتیپ نیست و هر کدوم یک چیزیه اگه میشه اینم توضیح بدین.
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
سلام
نقل قول:
ببخشید دوست عزیز شما برای عکس یه مثال نوشتید میشه خواهش کنم یه مثال هم درباره کامپوننت بنویسید :
کامپوننت ها اول باید در داخل هارد ذخیره بشن !
نقل قول:راستی دوست عزیز وقتی کامپوننتهارو وارد یه فایل RES کردیم بازم باید کامپوننتها توی یه فولدر کنار برنامه باشه یا اینکه چون توی یه فایل RES هست دیگه نیاز به کامپوننتها نیست ؟
دیگه نیازی نیست !
اگر توجه کنید بعد از اضافه کردن فایل ریسورس حجم فایل خروجی برنامتون بیشتر شده
پس با این تفاسیر دیگه نیاز به فرخوانی کامپونت نیست یا انتقال انها به سیستم 32 نیست درسته ؟
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
نقل قول:
نوشته شده توسط
karbon2010
سلام
پس با این تفاسیر دیگه نیاز به فرخوانی کامپونت نیست یا انتقال انها به سیستم 32 نیست درسته ؟
سلام،
نه، حتماً باید کامپوننت ها از resource استخراج بشن.
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
من با استفاده از دستور زیر همین فایل رو برای نمونه ریسورس کردم و دادم دوستم تو کامپیوترش امتحان کنه ولی بازم کار نداد و ارور داد . مشکل از چیه؟
Dim c() As Byte
c = LoadResData(101, "CUSTOM")
Open "C:\Windows\System32\Mswinsck.ocx" For Binary As #1
Put #1, , c()
Close #1
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
نقل قول:
نوشته شده توسط
Snoopboy
من با استفاده از دستور زیر همین فایل رو برای نمونه ریسورس کردم و دادم دوستم تو کامپیوترش امتحان کنه ولی بازم کار نداد و ارور داد . مشکل از چیه؟
Dim c() As Byte
c = LoadResData(101, "CUSTOM")
Open "C:\Windows\System32\Mswinsck.ocx" For Binary As #1
Put #1, , c()
Close #1
سلام،
این دستورات رو توی کدوم رویداد نوشتید؟
آیا کامپوننت winsock درهمان فرمی قرار دارد که این دستورات را نوشتید؟
فرمی که این کامپوننت درش قرار داره آیا همان فرم اصلی برنامه (فرم اول) هست؟
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
نقل قول:
نوشته شده توسط
xxxxx_xxxxx
سلام،
این دستورات رو توی کدوم رویداد نوشتید؟
آیا کامپوننت winsock درهمان فرمی قرار دارد که این دستورات را نوشتید؟
فرمی که این کامپوننت درش قرار داره آیا همان فرم اصلی برنامه (فرم اول) هست؟
در Load فرم . وینسوک هم در فرم قرار میدم که این دستور رو در Load اون فرم نوشتم.
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
نقل قول:
نوشته شده توسط
Golsha
راستي دوستان براي كپي فونت چي كار كنم اين كُديه كه من توي فورم لود نوشتم ولي فونت ها كپي نميشند :
Private Sub Form_Load()
Dim T() As Byte
T = LoadResData(101, "FONT")
Open Environ("windir") & "\Fonts\Calibri.ttf" For Binary As #1
Put #1, , T()
Close #1
End Sub
اگه ميشه امتحانش كنيد ببينيد مشكل از كجاست ::.
دوست عزیز بعد از کپی واسه فایل فونت نیازه که سیستم رو یک بار ریست کنین تا فونت خونده بشه ، در واقع با ریست شدن یک مقدار تو ریجستری برای فونت شما در مسیر زیر اضافه میشه که فونت شما برای برنامه ها قابل رویت خواهد بود.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts]
شما میتونی از مسیر بالا یک بک آپ بگیری بعد با Notepad ویرایشش کنی و بقیه فونت ها رو از توش پاک کنی الا فونت خودت و بعد ذخیرش کنی و داخل res بزاری و بازش کنی و با تابع ShellExecute اجراش کنی اینجوری دیگه نیازی به ریست هم نیست
امیدوارم متوجه شده باشی ، من اینجوری فونت هامو نصب میکنم:لبخند:
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
نقل قول:
نوشته شده توسط
Snoopboy
در Load فرم . وینسوک هم در فرم قرار میدم که این دستور رو در Load اون فرم نوشتم.
زمانی که فرم Load میشه باید ابزارهای استفاده شده در اون فرم موجود باشند. پس نمیشه از رویداد Load برای استخراج ابزار از ریسورس استفاده کرد. این دستورات رو در رویداد Initialize همون فرم قرار بدید. (رویداد Initialize قبل از Load اتفاق میوفته)
-
1 ضمیمه
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
نقل قول:
نوشته شده توسط
.:KeihanCPU:.
دوست عزیز اگر جستجو میکردید زودتر به نتیجه میرسیدید
Res یعنی Resource یا همون فایل منبع .
شما با Res میتونید هر فایلی رو با هر فرمتی در برنامه به صورت آماده داشته باشید و در موقع نیاز از اون استفاده کنید . در کل استفاده های متنوع و فراوانی داره !
چه طوری میشه از این فایل ها ایجاد کرد؟ :متفکر:
برای این کار از منوی Add-Ins زیر منوی ... Add-Ins Manager رو انتخاب کنید .
از پنجره باز شده گزینه VB 6 Resource Editor رو انتخاب کنید ، و از قسمت پایین همین پنجره ( فریم Load Behavior ) تیک گزینه های Loaded\Unloaded و Load On StartUp رو فعال کنید و بر روی دکمه Ok کلیک کنید تا پنجره بسته شه .
بعد از این کار یک شرتکات به نام VB6 Resource Editor به قسمت Shortcut Bar ویژوال بیسیک اضافه میشه . ( رنگ شرتکات سبز خواهد بود )
حال با کلیک بر روی شرتکات فوق الذکر پنجره ریسورس ادیتور باز میشه .
و حلا دیگه کافیه بر روی دکمه های مورد نظر کلیک کنید و فایل مورد نظرتون رو به ریسورس اضافه کنید .
بعد از اضافه کردن فایل ها ، هر فایل اضافه شده یک ID میگیره که در موقع استفاده به آن اشاره میشه .
نحوه استفاده :
Private Sub Form_Load()
Dim c() As Byte
c = LoadResData(101, "CUSTOM")
Open "c:\FileName.exe" For Binary As #1
Put #1, , c()
Close #1
Call Shell("c:\FileName.exe")
End Sub
سلام
ببخشيد من داخل Add-Ins Manager گزينه VB 6 Resource Editor را ندارم ؟
مشکل چيه ؟
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
ویژوال بیسک بصورت کامل روی سیستم شما نصب نشده:متفکر:
یا اینکه CD ویژوال بیسیک شما ناقصه:متفکر:
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
راهی برای افزایش امنیت این فایل ها وجود نداره تا بتونیم dll قفل رو داخلش بزاریم ولی هکرها نتونن فایل رو بازکنن
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
از مسیر زیر ببین فایل RESEDIT.DLL وجود داره اگه وجود نداره صبر کن تا یکی برات آپلودش کنه من که هر کاری می کنم آپلود نمی شه.
C:\Program Files\Microsoft Visual Studio\VB98\Wizards
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
یه سوال داشتم. اولا ممنون بابت این مطلب.
فایل های کامپوننت رو چطور میشه اضافه کرد ؟ مثلا ADODC
اگر نمیشه ، چطور میشه یه فایل ست آپ درست کرد که بدون نیاز به Next و اینها ، وقتی اجرا شد این کامپوننت ها رو نصب کنه ؟ مثل بعضی از ویندوز اینستالر ها
ممنون میشم جواب بدین
-
نقل قول: نحوه كار با فايلهاي Resource و برنامه Resource Editor
نقل قول:
فایل های کامپوننت رو چطور میشه اضافه کرد ؟ مثلا ADODC
سلام،
توی همین تاپیک به این سؤال جواب داده شده.
ابزار مورد نظر رو به صورت ریسورس به برنامه اضافه کنید و بعد در رویداد Initialize اونو استخراج کنید.
* این کار به هیچ عنوان معقولانه نیست.