博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TWebBrowser静音
阅读量:5320 次
发布时间:2019-06-14

本文共 1046 字,大约阅读时间需要 3 分钟。

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
;

转载于:https://www.cnblogs.com/honeynm/p/4438291.html

你可能感兴趣的文章
01_线程的创建和启动
查看>>
Redis简介(一)概述
查看>>
基于jQuery的数字键盘插件
查看>>
js基础(对象)
查看>>
3.栈的实现
查看>>
38.C语言字符串总结
查看>>
TBB Task Scheduler Notes
查看>>
ceshi1
查看>>
(六)、nginx负载均衡即keepalived高可用部署
查看>>
201673020127 郁文曦 课程学习总结
查看>>
前端杂记
查看>>
如何判断是平衡二叉树
查看>>
Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined)【A,B,C,D】
查看>>
sys模块
查看>>
并查集Union-find及其在最小生成树中的应用
查看>>
【题解】洛谷P1463 [POI2002][HAOI2007] 反素数(约数个数公式+搜索)
查看>>
BuildAssetBundles文件打包
查看>>
msp430F5438A 的中断初步
查看>>
在JS中将指定表单内的“具有name数据的表单元素的值”封装为Get形式的字符串...
查看>>
介绍一种css水平垂直居中的方法(非常好用!)
查看>>