1.游戏变速器,变速用哪个好呢
2.C++代码 有办法封A变速齿轮么?
游戏变速器,器源全套用哪个好呢
变速齿轮 V0. Build 绿色版
变速齿轮是码游一个神奇的改变游戏速度的程序。他是戏变世界上第一个,也是速器目前最好的改变Windows游戏速度的程序。他几乎能改变任何Windows游戏的源码轰炸php源码速度。我还没有发现任何其他程序能改变,变速而变速齿轮不能改变的器源全套游戏。并且在效果上,码游例如变速后画面的戏变平滑性(这同时会影响游戏的操作性)、能使游戏达到的速器最快或最慢速度、使用的源码方便性、运行的变速稳定性等都是最好的。
除了游戏,器源全套变速齿轮事实上也能改变任何时间相关的码游127游戏源码程序的速度,例如视频播放、Flash、网页等。总之他是一个用途广泛而且相当有趣的程序。 新增功能与改进
1、因为不小心丢了源代码,只好又重写了变速齿轮。obs录制源码虽然界面看起来和原来一样,但实际是完全重写的。
2、9x版的变速齿轮中使用了和NT版中相同的技术,因此几乎能和NT版一样稳定。
3、用Ctrl+加速或减速键可以在每次0.1或0.5次方倍之间切换。dobbo框架源码
4、自动判断操作系统,只安装9x或NT版。
5、最小化时缩小到系统托盘。
6、NT版可以从“速度改变的胖胖的源码进程”列表中删除进程。
7、减小了安装程序。
8、支持更多的热键。
支持的操作系统
这一版本的变速齿轮可以在Windows 、Windows SE、Windows ME、Windows 、Windows XP、Windows Server 下运行。在Windows 、Windows SE、Windows ME下使用9x版的变速齿轮,在Windows 、Windows XP、Windows Server 下使用NT版的变速齿轮。由于变速齿轮的9x和NT版在使用上有很大不同(实际上他们是两个不同的程序),所以我将分别地介绍他们。目前变速齿轮不能在Windows NT 3.x和Windows NT 4.x下运行。其实要让变速齿轮能在这两个操作系统下运行是很容易的,方法也很多,不过连M$自己都不支持他们了,所以我也偷个懒吧。我也没有在Windows 下做过测试,同样也是因为M$不再支持他们了。
C++代码 有办法封A变速齿轮么?
正常 我机器以前也遇到这方面问题
在系统时间上与WINDOS进行同步连接
变速齿轮的原理是把一个程序在处理上先进行这个软件上的过滤
下面是其中一段源代码
// File name : SetClock.cpp
// Function1 : SetClock9x(int)
// Function2 : SetClockNT(int)
// Chu Rui .3.1
#include "stdafx.h"
#include "ntport.h"
#define FREE_INT_NO 5
void Ring0()
{ //在Windows9x下进入ring0后进行的操作
__asm
{
cli
mov al,h
out h,al //写入控制寄存器,设置写0号定时器
mov ax,bx
out h,al //写定时值低位
mov al,ah
out h,al //写定时值高位
sti
iretd;
}
}
void SetClockNT(int freq)
{ //NT下的操作
//这里使用了NT Port库
Outport(0x,0x); //写入控制寄存器,设置写0号定时器
Outport(0x,freq&0xff); //写定时值低位
Outport(0x,(freq>>8)&0xff); //写定时值高位
}
void SetClock9x(int freq)
{
union Function_Pointer
{
void (*pointer)();
char bytes[sizeof(void *)];
}OldIntAddress,NewIntAddress;
int IDTAddress; //IDT表基地址
int IDTItemAddress; //要修改的中断门所在地址
char *Pointer; //要修改的中断门所在地址,指针形式
__asm
{
push eax
sidt [esp-2]
pop eax
mov IDTAddress,eax //得到IDT表基地址
}
IDTItemAddress=FREE_INT_NO*8+IDTAddress;
Pointer=(char *)IDTItemAddress;
NewIntAddress.pointer=Ring0;
OldIntAddress.bytes[0]=Pointer[0];
OldIntAddress.bytes[1]=Pointer[1];
OldIntAddress.bytes[2]=Pointer[6];
OldIntAddress.bytes[3]=Pointer[7]; //保存旧的中断门
Pointer[0]=NewIntAddress.bytes[0];
Pointer[1]=NewIntAddress.bytes[1];
Pointer[6]=NewIntAddress.bytes[2];
Pointer[7]=NewIntAddress.bytes[3]; //设置新的中断门
__asm
{
mov ebx,freq
int FREE_INT_NO //产生中断,进入ring0
}
Pointer[0]=OldIntAddress.bytes[0];
Pointer[1]=OldIntAddress.bytes[1];
Pointer[6]=OldIntAddress.bytes[2];
Pointer[7]=OldIntAddress.bytes[3]; //恢复旧的中断门
}