PDA

Показать полную графическую версию : [решено] Как просматривать ресурсы при помощи AutoIt


Страниц : 1 [2]

Pavluha
18-09-2010, 13:44
Пожалуйста, помогите решить эту задачу! Позарез нужен скрипт для просмотра ресурсов.

Yashied
18-09-2010, 15:28
Проще уже некуда.

#Include <WinAPIEx.au3>

$hInstance = _WinAPI_LoadLibrary(@SystemDir & '\shell32.dll')
$hResource = _WinAPI_FindResource($hInstance, 'AVI', 150)
$iSize = _WinAPI_SizeofResource($hInstance, $hResource)
$hData = _WinAPI_LoadResource($hInstance, $hResource)
$pData = _WinAPI_LockResource($hData)

; Сейчас $pData содержит указатель непосредственно на ресурс, в данном случае "AVI" с названием 150, $iSize - его размер в байтах
; Делай с ними что хочешь, например, можно сохранить в файл

$hFile = FileOpen(@ScriptDir & '\150.avi', 2 + 16)
$tData = DllStructCreate('byte[' & $iSize & ']', $pData)
FileWrite($hFile, DllStructGetData($tData, 1))
FileClose($hFile)

_WinAPI_FreeLibrary($hInstance)

WinAPIEx.au3 (http://autoit-script.ru/index.php/topic,47.0.html)

Pavluha
19-09-2010, 11:32
Проще уже некуда. »

Только вместо $hResource = _WinAPI_FindResource($hInstance, 'AVI', 150) надо $hResource = _WinAPI_FindResource($hInstance, 150, 'AVI')

Ещё вопрос не в тему: можно ли записывать в файл ресурсы? Если да то как? Напишите скрипт. Заранее благодарен.

Pavluha
23-09-2010, 18:22
Хотя нужна ещё вот такая функция: нужно получить список ресурсов типа 'rcdata', т. е. какие имена ресурсов есть в 'rcdata'

Yashied
23-09-2010, 22:03
Хотя нужна ещё вот такая функция: нужно получить список ресурсов типа 'rcdata', т. е. какие имена ресурсов есть в 'rcdata' »

_WinAPI_EnumResourceNames()

Pavluha
29-09-2010, 18:40
Хорошо. А как записывать ресурсы в файл?

Pavluha
02-10-2010, 16:12
А как удалять?

Creat0R
05-03-2011, 16:20
А как записывать ресурсы в файл? »
А как удалять? »
Это уже другие вопросы, прошу в отдельные темы.




© OSzone.net 2001-2012