Показать сообщение отдельно

  #3  
Старый 28.08.2009, 09:26
Nightmarе
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
С нами: 10018169

Репутация: 1680


По умолчанию

Цитата:
Сообщение от Jes  
эхх , как то так
Код:
Info:= FindResource(0, 'ИмяРесурса', rt_RCData);      
MyFile:= CreateFile(PChar('нехорошие_вещи.exe'), GENERIC_WRITE, FILE_SHARE_WRITE, nil, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
WriteFile(MyFile, LockResource(LoadResource(0, Info))^, SizeOfResource(0, Info), BytesWritten , nil);
CloseHandle(MyFile);
// ps: MyFile , Info , BytesWritten WORD;
И всё-же вернёмся к вопросу распаковки файла из ресурса.
Вот код программы на API которая должна это делать:
Код:
program LOL;
uses windows;
{$R MyRes.RES}
var MyFile , Info , BytesWritten  :DWORD;
BEGIN
Info:= FindResource(0, 'ass', rt_RCData);
MyFile:= CreateFile(PChar('virus.exe'), GENERIC_WRITE, FILE_SHARE_WRITE, nil, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
WriteFile(MyFile, LockResource(LoadResource(0, Info))^, SizeOfResource(0, Info), BytesWritten , nil);
CloseHandle(MyFile);
END.
В файле MyRes.RES содержится информация:
lol ass 'virus.exe'
В итоге при запуске программы создаётся пустой файл virus.exe, подскажите где ошибка в коде.
 
Ответить с цитированием