امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
resource
نویسنده پیام
4ng3l آفلاین
تازه وارد

ارسال‌ها: 21
موضوع‌ها: 7
تاریخ عضویت: آذر ۱۳۸۴

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #1
resource
سلام
دوستان ميخواستم كه طريقه كار كردن با دستوارات فايل هاي resource رو به من يار بديد
مثلا من الان ميخوام يك فايل رو كه تو res ريختم رو به يك جا كپي كنم
چي كار بايد انجام بدم
اگه ميشه لطف كنيد دستواتشو كامل توضيح بديد يا اگه مقاله اي داريد معرفي كنيد
مرسي
رضا
۱۷-دى-۱۳۸۴, ۱۶:۰۸:۴۷
ارسال‌ها
پاسخ
Iron_Fist غایب
مدیر بازنشسته
*****

ارسال‌ها: 1,456
موضوع‌ها: 70
تاریخ عضویت: آبان ۱۳۸۴

تشکرها : 109
( 456 تشکر در 134 ارسال )
ارسال: #2
 
بيا اين لينك خوبي براي اين كاره
http://www.vbcode.com/Asp/showsn.asp?theID=10622
اگه مشكلي داشتي يا مثال خواستي بگو تو سه سوت حله :wink:
۱۷-دى-۱۳۸۴, ۱۶:۳۰:۱۸
ارسال‌ها
پاسخ
4ng3l آفلاین
تازه وارد

ارسال‌ها: 21
موضوع‌ها: 7
تاریخ عضویت: آذر ۱۳۸۴

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #3
 
سلام
آقا لينكتون خيلي خوب بود اما اون چيزي كه من ميخواستم رو نداشت
من يك فايل رو در res گذاشتم به شماره 101
حالا ميخوام اينو كپي كنم تو c
exe هم هست
اينو بگو
آيديتم اگه بزاري عالي ميشه
مرسي
رضا
۱۷-دى-۱۳۸۴, ۱۶:۴۹:۵۹
ارسال‌ها
پاسخ
Iron_Fist غایب
مدیر بازنشسته
*****

ارسال‌ها: 1,456
موضوع‌ها: 70
تاریخ عضویت: آبان ۱۳۸۴

تشکرها : 109
( 456 تشکر در 134 ارسال )
ارسال: #4
 
با فرض اينكه يه تكست داريم كه مسير خارج شدن فايل رو مشخص
كنه

کد:
Open Text1.Text & "\" & "Your Program Name With Extention" For Output As #1
    Print #1, StrConv(LoadResData(101, "Your Resource Name"), vbUnicode)
Close #1
۱۷-دى-۱۳۸۴, ۱۶:۵۷:۰۶
ارسال‌ها
پاسخ
arnh آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 959
موضوع‌ها: 75
تاریخ عضویت: آبان ۱۳۸۴

تشکرها : 38
( 172 تشکر در 76 ارسال )
ارسال: #5
 
اين كد موجودي منه . شايد به كارت بياد .
کد:
Private Declare Function FindResourceByNum Lib "kernel32" Alias "FindResourceA" (ByVal hInstance As Long, ByVal lpName As String, ByVal lpType As Long) As Long
Private Declare Function FindResource Lib "kernel32" Alias "FindResourceA" (ByVal hInstance As Long, ByVal lpName As String, ByVal lpType As String) As Long
Private Declare Function LoadResource Lib "kernel32" (ByVal hInstance As Long, ByVal hResInfo As Long) As Long
Private Declare Function LockResource Lib "kernel32" (ByVal hResData As Long) As Long
Private Declare Function SizeofResource Lib "kernel32" (ByVal hInstance As Long, ByVal hResInfo As Long) As Long
Private Declare Function FreeResource Lib "kernel32" (ByVal hResData As Long) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Private Declare Function LoadLibraryEx Lib "kernel32" Alias "LoadLibraryExA" (ByVal lpLibFileName As String, ByVal hFile As Long, ByVal dwFlags As Long) As Long
Private Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long
Private hModule As Long
Public fso As New FileSystemObject
Public sh As New Shell
Public Function GetDataArray(ByVal ResType As String, ByVal ResName As String) As Variant
   Dim hRsrc As Long
   Dim hGlobal As Long
   Dim arrData() As Byte
   Dim lpData As Long
   Dim arrSize As Long
   If IsNumeric(ResType) Then hRsrc = FindResourceByNum(hModule, ResName, CLng(ResType))
   If hRsrc = 0 Then hRsrc = FindResource(hModule, ResName, ResType)
Debug.Print ResType
   If hRsrc = 0 Then Exit Function
   hGlobal = LoadResource(hModule, hRsrc)
   lpData = LockResource(hGlobal)
   arrSize = SizeofResource(hModule, hRsrc)
   If arrSize = 0 Then Exit Function
   ReDim arrData(arrSize - 1)
   Call CopyMemory(arrData(0), ByVal lpData, arrSize)
   Call FreeResource(hGlobal)
   GetDataArray = arrData
End Function
Public Sub SaveData(ByVal sFileName As String, arrData As Variant)
   Dim nFile As Integer
   Dim arr() As Byte
   arr = arrData
   nFile = FreeFile
   Open sFileName For Binary As #nFile
      Put #nFile, , arr
   Close #nFile
End Sub
Public Sub RESAve(CurrentResType As String, CurrentResName As String, Fname As String)
     ClearResource
     InitResource (MainDir)
     srcArr = GetDataArray(CurrentResType, CurrentResName)
     SaveData Fname, srcArr
End Sub
Public Function InitResource(ByVal sLibName As String) As Boolean
On Error Resume Next
  hModule = LoadLibraryEx(sLibName, 0, 1)
  'Debug.Print hModule
  InitResource = (hModule <> 0)
End Function
Public Sub ClearResource()
   If hModule Then FreeLibrary (hModule)
End Sub
Public Function MainDir()
If Right(App.Path, 1) = "\" Then
MainDir = App.Path + App.EXEName + ".exe"
Else
MainDir = App.Path + "\" + App.EXEName + ".exe"
End If
End Function

با استفاده از تابع مي توني . ذخيره سازي كني
کد:
RESAve(CurrentResType As String, CurrentResName As String, Fname As String)
يعني
کد:
RESAve "Custum","#101","C:a.exe"
(آخرین ویرایش در این ارسال: ۰۴-بهمن-۱۳۸۴, ۱۷:۱۶:۴۳، توسط arnh.)
۰۳-بهمن-۱۳۸۴, ۱۷:۱۱:۲۴
وب سایت ارسال‌ها
پاسخ
vblove آفلاین
كاربر دو ستاره
**

ارسال‌ها: 155
موضوع‌ها: 9
تاریخ عضویت: اردیبهشت ۱۳۸۴

تشکرها : 0
( 19 تشکر در 10 ارسال )
ارسال: #6
 
http://www.iranvig.com/modules.php?name=...e&sid=2280
۰۴-بهمن-۱۳۸۴, ۰۰:۳۲:۴۲
وب سایت ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  کار با resource editor mOSTEFEA 4 4,415 ۲۵-تير-۱۳۹۱, ۲۲:۲۶:۴۵
آخرین ارسال: Payman62
  Resource Haker shahrokhmj 23 14,269 ۱۷-فروردین-۱۳۸۴, ۰۱:۲۸:۰۲
آخرین ارسال: ali_pazho

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS