Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Как програмно добавить ресурс? Добавлено: 29.05.05 08:42  

Автор вопроса:  magish
Подскажите, пожалуйста, какой функцией (API) можно добавить ресурс (файл) в уже готовый EXE?

Ответить

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

Номер ответа: 1
Автор ответа:
 Black Dragon



ICQ: 321186096 

Вопросов: 30
Ответов: 347
 Web-сайт: в разработке
 Профиль | | #1
Добавлено: 29.05.05 10:50
Насчет API-функций не знаю. А так, есть полно программ (к примеру, PE Explorer), которые добавляют ресурсы в готовые EXE

Ответить

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



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

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #2
Добавлено: 29.05.05 12:59
BeginUpdateResource
The BeginUpdateResource function returns a handle that can be used by the UpdateResource function to add, delete, or replace resources in an executable file.

Ответить

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


 

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

Вопросов: 236
Ответов: 8362
 Профиль | | #3 Добавлено: 29.05.05 16:42
BeginUpdateResource, UpdateResource, EndUpdateResource

Вообще сложная муть, вроде ещё ни укого не получалось.

Ответить

Номер ответа: 4
Автор ответа:
 ism



ICQ: 237575486 

Вопросов: 5
Ответов: 4
 Профиль | | #4 Добавлено: 30.05.05 03:04
У меня этот код работает:

Dim h As Long
Dim txt As String
h = BeginUpdateResource("c:\1.exe", 0)
txt = "Текст"
Call UpdateResource(h, "TEXT", "1", 1049, ByVal txt, Len(txt))'1049 - язык
Call EndUpdateResource(h, 0)

Ответить

Номер ответа: 5
Автор ответа:
 sne



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

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #5
Добавлено: 30.05.05 03:47
действительно воркает на ура :)

Ответить

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


 

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

Вопросов: 236
Ответов: 8362
 Профиль | | #6 Добавлено: 30.05.05 05:45
Хм... ещё как воркует :) !!! спасибо ism !!!

Ответить

Номер ответа: 7
Автор ответа:
 Black Dragon



ICQ: 321186096 

Вопросов: 30
Ответов: 347
 Web-сайт: в разработке
 Профиль | | #7
Добавлено: 30.05.05 20:16
2ism: супер! А где ты его раздобыл?

Ответить

Номер ответа: 8
Автор ответа:
 magish



Вопросов: 47
Ответов: 47
 Профиль | | #8 Добавлено: 31.05.05 19:17
Declare Function BeginUpdateResource Lib "kernel32" Alias "BeginUpdateResourceA" (ByVal pFileName As String, ByVal bDeleteExistingResources As Integer) As Integer
Declare Function UpdateResource Lib "kernel32" Alias "UpdateResourceA" (ByVal hUpdate As Integer, ByVal lpType As String, ByVal lpName As String, ByVal wLanguage As Integer, ByRef lpData As Object, ByVal cbData As Integer) As Integer
Declare Function EndUpdateResource Lib "kernel32" Alias "EndUpdateResourceA" (ByVal hUpdate As Integer, ByVal fDiscard As Integer) As Integer

Sub Main()
Dim h As Long
Dim txt As String
h = BeginUpdateResource("d:\temp\1.exe", 0)
txt = "Mad123"
Call UpdateResource(h, "TEXT", "1", 1049, ByVal txt, Len(txt))
Call EndUpdateResource(h, 0)
End Sub


пишет что не совпадение типов... - если поменять lpData как String - ни че не делает... - не добовляет... - или в файле(1.exe) надо, объект(папка, подпапк - не знаю как называеться) чтоб "TEXT" был создан???

Ответить

Номер ответа: 9
Автор ответа:
 ism



ICQ: 237575486 

Вопросов: 5
Ответов: 4
 Профиль | | #9 Добавлено: 01.06.05 08:10
Я объявлял как в API Viewer, lpData As Any

Ответить

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


 

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

Вопросов: 236
Ответов: 8362
 Профиль | | #10 Добавлено: 01.06.05 21:59
может

Call UpdateResource(h, "CUSTOM", "1", 1049, ByVal txt, Len(txt))

?

Ответить

Страница: 1 |

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



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