是否有可能改变从GetTickCount()返回的滴答计数值?

我正在尝试做一些testing,并且需要Windows系统启动并运行15分钟的实时分钟才能执行某个操作。 但是,这需要等待15个实时分钟。

有没有办法改变GetTickCount()返回的值,以使系统看起来已经运行了15个实时分钟?

编辑:有一个应用程序做了一些接近我想要的东西,但它似乎不工作,我不得不处理hex值而不是直接十进制值:http: //ysgyfarnog.co.uk/utilities/ AdjustTickCount /

不直接。

为什么不只是嘲笑这个调用,或者用一个策略对象替换那个时间检查的代码块呢?

struct Waiter { virtual void Wait() = 0; virtual ~Waiter() {}; }; struct 15MinWaiter : public Waiter { virtual void Wait() { //Do something that waits for 15 mins } }; struct NothingWaiter : public Waiter { virtual void Wait() { //Nill } }; 

你可以做类似的模拟GetTickCount的调用,但是在更高级别的抽象层次上进行这样的操作可能会更好。

出于调试的目的,您可以用_GetTickCount()来替换所有对GetTickCount()的调用,根据您是否正在调试,可以使用GetTickCount()或GetTickCount()+ 15min来实现。

为什么不一分钟,确认它的工作原理,然后改回到十五?

你可以做一些非常可怕的事情,比如#define GetTickCount()MyReallyEvilReplacement()。