进程静音,暂停,加速的实现

来源:互联网 发布:淘宝网户外用品 编辑:程序博客网 时间:2024/04/30 23:31

工作需要实现上述3个功能,一开始想到的是直接把进程挂起,结果发现进程挂起之后,消息循环也挂掉了.所以此路不通.遂逆了下某游戏盒子的某个dll,发现秘密如下:

静音:xp下Hook几个系统函数:midiStreamOut,waveOutWrite,网上说DirectSoundCreate也得Hook,经测试发现不Hook此函数也可实现xp下的静音.Win7下的静音用IMMDeviceEnumerator这个接口就能操作静音了.

加速:Hook如下几个系统函数:GetTickCount,timeGetTime以及QueryPerformanceCounter,在Hook后的函数中自己计算速度.

暂停:实现了上面的加速,暂停就好办了,直接把速度设置为0,就暂停了...


原理就是这样的,代码就不上了,比较简单,没啥技术含量,童鞋们自由发挥吧!