Страница: 1 |
Страница: 1 |
Вопрос: Файлы ресурсов
Добавлено: 08.12.05 01:34
Автор вопроса: Alex | Web-сайт:
Как прогамно можно записывать в файлы ресурсов.
Ответы
Всего ответов: 10
Номер ответа: 1
Автор ответа:
mr_Frank
ICQ: 316417
Вопросов: 36
Ответов: 94
Web-сайт:
Профиль | | #1
Добавлено: 08.12.05 08:49
go to MSDN
Номер ответа: 2
Автор ответа:
HOOLIGAN
Вопросов: 0
Ответов: 1066
Профиль | | #2
Добавлено: 08.12.05 08:54
В файлы ресурсов программно записать можно, запустив утилиту Rc.exe с определенными параметрами (имя файла скрипта).
В exe программно ресурсы модифицируются функциями BeginUpdateResource -> UpdateResource -> EndUpdateResource
Номер ответа: 3
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #3
Добавлено: 08.12.05 13:57
Ты имеешь ввиду программно добавить ресурс к проге?
Номер ответа: 4
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #4
Добавлено: 08.12.05 15:29
Интерестно, а зачем?
Номер ответа: 5
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #5
Добавлено: 08.12.05 21:45
нет, не интересно...
Номер ответа: 6
Автор ответа:
Alex
Вопросов: 13
Ответов: 26
Web-сайт:
Профиль | | #6
Добавлено: 09.12.05 00:20
Нет программно редактировать его через свою прогу. Что то типа Resurce Editor в VB но тока свой.
Глупое задание глупого препода
А можно какой нить яркий примерчик.
Номер ответа: 7
Автор ответа:
HOOLIGAN
Вопросов: 0
Ответов: 1066
Профиль | | #7
Добавлено: 09.12.05 00:35
google + BeginUpdateResource
Номер ответа: 8
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #8
Добавлено: 09.12.05 00:54
=
Номер ответа: 9
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #9
Добавлено: 09.12.05 00:56
раза 3 точно на форуме постил, и не только на этом...
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 Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length 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
Const FileName = "c:\2.exe"
Private Sub Command1_Click()
Dim h As Long
Dim txt As String
h = BeginUpdateResource(FileName, 0)
txt = "Текстфывфыв2222222222фывфывфффф"
Call UpdateResource(h, "TEXT", "2", 1049, ByVal txt, Len(txt)) '1049 - язык
Call EndUpdateResource(h, 0)
End Sub
Private Sub Command2_Click()
Dim txt As String
Dim hgRes As Long
hLib = LoadLibrary(FileName)
hRes = FindResourceEx(hLib, ByVal "TEXT", ByVal "2", 1049)
hLRes = LoadResource(hLib, hRes)
hgRes = LockResource(hLRes)
lenRes = SizeofResource(hLib, hRes)
txt = Space(lenRes)
CopyMemory ByVal txt, ByVal hgRes, lenRes
FreeLibrary hLib
MsgBox txt
End Sub
Номер ответа: 10
Автор ответа:
Alex
Вопросов: 13
Ответов: 26
Web-сайт:
Профиль | | #10
Добавлено: 09.12.05 01:16
Биг респект!!!
Я поиск делал и нашел только как из них извлекать.