本文整理自网络,侵删。
procedure TForm1.FormCreate(Sender: TObject);var hDSound: Cardinal; pDirectSoundCreate: Pointer; hWinmm: Cardinal; pmidiStreamOpen: Pointer; pwaveOutWrite: Pointer; lp: Cardinal;begin hDSound := LoadLibrary('DSound.dll'); if hDSound > 0 then pDirectSoundCreate := GetProcAddress(hDSound, 'DirectSoundCreate'); if pDirectSoundCreate <> nil then begin VirtualProtect(pDirectSoundCreate, 3, PAGE_EXECUTE_READWRITE, lp); Move(#$C2#$0C#$00, pDirectSoundCreate^, 3); end; hWinmm := LoadLibrary('Winmm.dll'); if hWinmm > 0 then pmidiStreamOpen := GetProcAddress(hWinmm, 'midiStreamOpen'); if pmidiStreamOpen <> nil then begin VirtualProtect(pmidiStreamOpen, 3, PAGE_EXECUTE_READWRITE, lp); Move(#$C2#$04#$00, pmidiStreamOpen^, 3); end; if hWinmm > 0 then pwaveOutWrite := GetProcAddress(hWinmm, 'waveOutWrite'); if pwaveOutWrite <> nil then begin VirtualProtect(pwaveOutWrite, 3, PAGE_EXECUTE_READWRITE, lp); Move(#$C2#$0C#$00, pwaveOutWrite^, 3); end;end;
相关阅读 >>
Delphi winapi: getmodulehandle - 获取一个模块(exe 或 dll)的句柄
Delphi mysql里Delphi事件类型转unix时间戳
Delphi get_hd_serial() 获得磁盘驱动器序列号
Delphi android / ios应用程序中使用tgeocoder类进行反向地理编码(从位置信息中获取地址)
Delphi中datetimepicker控件同时输入日期和时间
更多相关阅读请进入《Delphi》频道 >>