BOOL LimitCPU(DWORD dwMask)
{
BOOL bRet = FALSE;
DWORD dwProcessAffinityMask = 0, dwSystemAffinityMask = 0;
bRet = GetProcessAffinityMask(GetCurrentProcess(), &dwProcessAffinityMask, &dwSystemAffinityMask);
if (0 == dwMask)
{
if (bRet)
{
bRet = SetProcessAffinityMask(GetCurrentProcess(), dwSystemAffinityMask);// ALL CPU
}
}
else if (((DWORD)- 1) == dwMask)
{
if (bRet)
{
bRet = SetProcessAffinityMask(GetCurrentProcess(), (dwSystemAffinityMask + 1) / 2); //LAST CPU
}
}
else
{
bRet = SetProcessAffinityMask(GetCurrentProcess(), dwMask);
}
return bRet;
}
posted on 2010-11-26 22:02
张志松 阅读(355)
评论(0) 编辑 收藏 引用