把WAV文件做到EXE中去
建立'Sound.RC'的文件,内容如下
MyWave Wave Wave.wav
然后用 Brcc32.exe 编译'Sound.rc',会生成一个'Sound.RES'
Uses MMSystem;
{$R SOUND.RES}
然后,在Form1中申明一个全局变量
PtrSound : PChar;
hRes : THandle;
{handle to the loaded resource
if 0 indicates nothing playing}
再在Form1的Create事件中增加下如下代码
procedure TForm1.FormCreate(Sender: TObject);
var hResInfo : THandle;
begin
hResInfo := FindResource(HInstance, 'MyWave', 'WAVE');
hRes := LoadResource(HInstance, hResInfo);
if hRes > 32 then
{its a good load}
begin
{lock the resource}
ptrSound:=LockResource(hRes);
end;
end;
然后在Form1中放一个按钮Button1,加入如下代码:
procedure TForm1.Button1Click(Sender: TObject);
begin
sndplaysound(ptrSound,snd_async or snd_Memory);
end;
以上代码在Win98+Delphi 4.0&5.0下通过,没问题
但我不知道如何把Midi做到Exe中去,用上面的方法无效
非常愿意同大家讨论问题