Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Ресурсы и манифест Добавлено: 20.02.06 17:11  

Автор вопроса:  Tamplier | ICQ: 298742928 
Доброго времени суток!
Так как ресурсы я вообще не знаю, я с ними раньше не работал, то соответственно назревает вопросец.
Слыхал я где-то краем уха, что манифест мона в ресы запихать и не париться с отдельным файлом. Но тут такая лажа: Как его оттуда заставить работать?

Ответить

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

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



ICQ: 345743490 

Вопросов: 42
Ответов: 385
 Web-сайт: vt-dbnz.narod.ru
 Профиль | | #1
Добавлено: 20.02.06 18:23
Распаковать из ресурса в файл. :)

Ответить

Номер ответа: 2
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #2 Добавлено: 20.02.06 18:24
Компиль exe-шник, а потом (например через PE Explorer) суй манифест в ресурсы :))

Ответить

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



ICQ: 298742928 

Вопросов: 58
Ответов: 340
 Профиль | | #3 Добавлено: 22.02.06 17:04
Не, как запихать в ресурсы - эт я рахобрался...

То есть все равно с дополнительным файлом возиться придется, да? Ну лана.

Ответить

Номер ответа: 4
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #4 Добавлено: 22.02.06 20:54
То есть все равно с дополнительным файлом возиться придется, да?
Ну зачем??? Я же говорю - пихаешь манифест с помощью PE Explorer'а в ресурсы, прога твоя уже сама раскрасится!

Ответить

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


 

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

Вопросов: 236
Ответов: 8362
 Профиль | | #5 Добавлено: 22.02.06 23:29
это равносильно, он всёравно в временную извлекает...

Ответить

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



ICQ: 298742928 

Вопросов: 58
Ответов: 340
 Профиль | | #6 Добавлено: 23.02.06 18:38
Я же говорю - пихаешь манифест с помощью PE Explorer'а в ресурсы

Не, не хочу с п-ешкой возиться

Ну, лан, а как тогда его оттуда достать можно?

Ответить

Номер ответа: 7
Автор ответа:
 Victor



ICQ: 345743490 

Вопросов: 42
Ответов: 385
 Web-сайт: vt-dbnz.narod.ru
 Профиль | | #7
Добавлено: 24.02.06 20:22
Если я правильно понял вопрос
Ну, лан, а как тогда его оттуда достать можно?
, что имеется ввиду распаковка файла из ресурса, то:
Option Explicit

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 Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _
        ;(Destination As Any, Source As Any, ByVal Length As Long)
        
Public Sub ExtractFile(ByRef File As String, _
                      ByRef ResType As String, _
                      ByRef ResID As String)
Dim hResource As Long
Dim hData As Long
Dim ptrData As Long
Dim ResSize As Long
Dim ResData() As Byte
Dim nmb As Long
Dim Answ As VbMsgBoxResult
hResource = FindResource(App.hInstance, ResID, ResType)
If hResource = 0 Then
    Err.Raise 119, "ExtractDll", "Cannot open the resource. (FindResource failed.)"
    Exit Sub
End If
ResSize = SizeofResource(App.hInstance, hResource)
If ResSize = 0 Then
    Err.Raise 119, "ExtractFile", "Cannot determine the size of the resource. (SizeOfResource failed.)"
    Exit Sub
End If
hData = LoadResource(App.hInstance, hResource)
If hData = 0 Then
    Err.Raise 119, "ExtractFile", "Cannot load the resource. (LoadResource failed.)"
    Exit Sub
End If
ptrData = LockResource(hData)
If ptrData = 0 Then
    Err.Raise 119, "ExtractFile", "Cannot lock the resource. (LockResource failed.)"
    Exit Sub
End If
ReDim ResData(0 To ResSize - 1)
CopyMemory ResData(0), ByVal ptrData, ResSize


nmb = FreeFile
Open File For Binary Access Write As nmb
    Put nmb, 1, ResData
Close nmb

Erase ResData
End Sub

Надеюсь, ничего не забыл. Выуживать такое из большого запутанного проекта сложно - всегда есть риск, что забуду к/л функцию приложить.

Ответить

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



ICQ: 298742928 

Вопросов: 58
Ответов: 340
 Профиль | | #8 Добавлено: 25.02.06 16:22
Спасибо большое.
Хотя, на мой взгляд, если не нужно защищать прогу, можно не мучаться так с ресурсами, а создать этот файл вручную :)

Ответить

Страница: 1 |

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



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