























(很久之前做过的笔记,现贴出来,也忘了是哪抄来的程序了。)
先来看看效果图,如果你是双核以上的,需要先在进程里将本程序设置为单核运行。
方法:右键该进程-》关系-》CPU0

可执行程序下载:/Files/Flouse/controlTheTaskManager.rar
源代码:
#include <Windows.h>
#include <stdlib.h>
#include <math.h>

const double SPLIT = 0.01;
const int COUNT = 200;
const double PI = 3.14159265;
const int INTERVAL = 50;

int main(int argc, char* argv[]) {
// array of busy times
DWORD busySpan[COUNT];
// arry of idle times
DWORD idleSpan[COUNT];
int half = INTERVAL/2;
double radian = 0.0;
for (int i = 0; i < COUNT; i++) {
busySpan[i] = (DWORD)(half + (sin(PI*radian)*half));
idleSpan[i] = INTERVAL - busySpan[i];
radian += SPLIT;
}
DWORD startTime = 0;
int j = 0;
while (true) {
j = j % COUNT;
startTime = GetTickCount();
while (GetTickCount() - startTime <= busySpan[j]);
Sleep(idleSpan[j]);
j++;
}
return 0;
}
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。