SetPriorityClass CreateProcess

一、创建了进程,优先权当然也设置咯,可以再CreateProcess参数中设置,也可以调用SetPriorityClass进行设置

SetPriorityClass

设置优先权

函数原型:

BOOL SetPriorityClass(
HANDLE hProcess,
DWORD dwPriorityClass
);
GetPriorityClass

得到优先权

函数原型:

DWORD GetPriorityClass(
HANDLE hProcess
);

dwPriorityClass:

ABOVE_NORMAL_PRIORITY_CLASS 0x00008000
BELOW_NORMAL_PRIORITY_CLASS 0x00004000
HIGH_PRIORITY_CLASS 0x00000080

IDLE_PRIORITY_CLASS 0x00000040
NORMAL_PRIORITY_CLASS 0x00000020

REALTIME_PRIORITY_CLASS 0x00000100

例:

if (!CreateProcess("D://Program Files//TTPlayer//TTPlayer.exe", GetCommandLine(), NULL,
NULL, FALSE, CREATE_DEFAULT_ERROR_MODE | NORMAL_PRIORITY_CLASS, NULL, NULL, &si, &pi))
{

CloseHandle(pi.hThread);
WaitForSingleObject(pi.hProcess, INFINITE);
CloseHandle(pi.hProcess);
}

BOOL fTemp = SetPriorityClass(pi.hProcess, HIGH_PRIORITY_CLASS);
//BOOL fTemp = SetPriorityClass(pi.hProcess, 21);
LONG lRet = GetPriorityClass(pi.hProcess);
//----------------------------------------------
17:39 2013-07-03
#include <windows.h>
#include <tchar.h>

int main( void )
{
DWORD dwError, dwPriClass;

if(!SetPriorityClass(GetCurrentProcess(), PROCESS_MODE_BACKGROUND_BEGIN))
{
dwError = GetLastError();
if( ERROR_PROCESS_MODE_ALREADY_BACKGROUND == dwError)
_tprintf(TEXT("Already in background mode\n"));
else _tprintf(TEXT("Failed to enter background mode (%d)\n"), dwError);
goto Cleanup;
}

// Display priority class

dwPriClass = GetPriorityClass(GetCurrentProcess());

_tprintf(TEXT("Current priority class is 0x%x\n"), dwPriClass);

//
// Perform background work
//
;

if(!SetPriorityClass(GetCurrentProcess(), PROCESS_MODE_BACKGROUND_END))
{
_tprintf(TEXT("Failed to end background mode (%d)\n"), GetLastError());
}

Cleanup:
// Clean up
;
return 0;
}

转载于:https://www.cnblogs.com/lcfwzq/p/3173526.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值