Внедрение ресурса в EXE
Хочу внедрить музыку в EXE и проиграть. Файл ресурса music.res изготовил через MYWAVE RCDATA LOADONCALL 2.wav и поместил в каталог с исходником.
{$R music.res}
procedure RetrieveMyWave;
var
hResource : THandle;
pData : Pointer;
begin
hResource:=LoadResource( hInstance, FindResource(hInstance, 'MYWAVE', RT_RCDATA));
try
pData := LockResource(hResource);
if pData = nil then raise Exception.Create('!!! MyWave');
PlaySound('MyWave', 0, SND_NODEFAULT);
finally
FreeResource(hResource);
end;
end;
Вызывая процедуру, ничего не слышу.
Воспользовался таким вариантом procedure RetrieveMyWave; var hResource : THandle; pData : Pointer; KK:bool; begin MMSystem.PlaySound( LockResource( LoadResource(HInstance, FindResource(HInstance, 'MYWAVE', 'wave')) ), 0, SND_ASYNC or SND_MEMORY ); end;
при ресурсе MYWAVE wave "D:\mywave.wav" (другой формат+кавычки)
звук есть. Всем спасибо.
Источник: Stack Overflow на русском