Ресурсы внутри .ЕХЕ Как их показать на Форме?
Помогите, пожалуйста !!!
(Исходник не мой) *(
Как видно ниже в ЕХЕ внедрены Файлы Jpg и Wav
Вопрос !!! Как эту картинку показать в Форме в TImege?
А Музычку проиграть в TMadiaPlayer или какомто внешнем проигрывателе типа WinAmp?
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, JPEG, MMSystem, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{$R MyPicture.res}
{$R MyWave.res}
function LoadJPEGfromEXE( Number: integer ): TJPEGImage;
var
ResStream: TResourceStream;
begin
Result := TJPEGImage.Create;
ResStream := TResourceStream.CreateFromID( HInstance, Number, RT_RCDATA );
Result.LoadFromStream( ResStream );
ResStream.Free;
end;
{--------------------------}
procedure RetrieveMyWave;
var
WaveHandle: THandle;
WavePointer: Pointer;
begin
WaveHandle := FindResource( hInstance, 'MyWave', RT_RCDATA );
if WaveHandle <> 0 then
begin
WaveHandle := LoadResource( hInstance, WaveHandle );
if WaveHandle <> 0 then
begin
WavePointer := LockResource( WaveHandle );
sndPlaySound( WavePointer, SND_MEMORY or SND_ASYNC );
UnlockResource( WaveHandle );
FreeResource( WaveHandle );
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
ResStream: TResourceStream;
begin
ResStream := TResourceStream.Create( HInstance, 'MyPicture', RT_RCDATA );
ResStream.SaveToFile( 'Milkiway.jpg' );
ResStream.Free;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
ResStream: TResourceStream;
begin
ResStream := TResourceStream.Create( HInstance, 'MyWave', RT_RCDATA );
ResStream.SaveToFile( 'ir_end.wav' );
ResStream.Free;
end;
|