Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Ресурсы Добавлено: 03.05.07 19:43  

Автор вопроса:  Sef
Если кто знает подскажите, как заменить ресурс в exe - шнике!

Ответить

  Ответы Всего ответов: 3  

Номер ответа: 1
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #1 Добавлено: 03.05.07 20:22

Private Declare Function BeginUpdateResource Lib "kernel32" Alias "BeginUpdateResourceA" (ByVal pFileName As String, ByVal bDeleteExistingResources As Long) As Long
Private Declare Function UpdateResource Lib "kernel32" Alias "UpdateResourceA" (ByVal hUpdate As Long, ByVal lpType As String, ByVal lpName As String, ByVal wLanguage As Long, lpData As Any, ByVal cbData As Long) As Long
Private Declare Function EndUpdateResource Lib "kernel32" Alias "EndUpdateResourceA" (ByVal hUpdate As Long, ByVal fDiscard As Long) As Long
Private Declare Function FindResourceEx Lib "kernel32" Alias "FindResourceExA" (ByVal hModule As Long, ByVal lpType As String, ByVal lpName As String, ByVal wLanguage As Long) As Long
Private Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) 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 LoadResource Lib "kernel32" (ByVal hInstance As Long, ByVal hResInfo As Long) As Long
Private Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)

Public Sub WriteRES(sFile As String, sData As String, sType As String, sName As String)
    Dim h As Long
    h = BeginUpdateResource(sFile, 0)
    Call UpdateResource(h, sType, sName, 1049, ByVal sData, Len(sData)) '1049 - язык
    Call EndUpdateResource(h, 0)
End Sub

Public Function ReadRES(sFile As String, sType As String, sName As String) As String
    Dim txt As String
    Dim hgRes As Long
    hLib = LoadLibrary(sFile)
    hRes = FindResourceEx(hLib, ByVal sType, ByVal sName, 1049)
    hLRes = LoadResource(hLib, hRes)
    hgRes = LockResource(hLRes)
    lenRes = SizeofResource(hLib, hRes)
    txt = Space(lenRes)
    CopyMemory ByVal txt, ByVal hgRes, lenRes
    FreeLibrary hLib
    ReadRES = txt
End Function

Ответить

Номер ответа: 2
Автор ответа:
 Sef



Вопросов: 3
Ответов: 6
 Профиль | | #2 Добавлено: 13.05.07 22:15
Спасибо за API! Только объясни пожалуйста, что записать в
sFile, sData, sType и sName. Честно говоря мне нужно только одну bmp-ку заменить!

Ответить

Номер ответа: 3
Автор ответа:
 Sef



Вопросов: 3
Ответов: 6
 Профиль | | #3 Добавлено: 13.05.07 22:17
Спасибо за API! Только объясни пожалуйста, что записать в
sFile, sData, sType и sName. Честно говоря мне нужно только одну bmp-ку заменить!

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам