reactos/base/applications/taskmgr/priority.c

47 lines
1.3 KiB
C
Raw Normal View History

/*
* PROJECT: ReactOS Task Manager
* LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
* PURPOSE: Process Priority.
* COPYRIGHT: Copyright 1999-2001 Brian Palmer <brianp@reactos.org>
* Copyright 2005 Klemens Friedl <frik85@reactos.at>
*/
#include "precomp.h"
void DoSetPriority(DWORD priority)
{
DWORD dwProcessId;
HANDLE hProcess;
WCHAR szText[260];
WCHAR szTitle[256];
dwProcessId = GetSelectedProcessId();
if (dwProcessId == 0)
return;
LoadStringW(hInst, IDS_MSG_TASKMGRWARNING, szTitle, 256);
LoadStringW(hInst, IDS_MSG_WARNINGCHANGEPRIORITY, szText, 260);
if (!ConfirmMessageBox(hMainWnd, szText, szTitle, MB_YESNO|MB_ICONWARNING))
return;
hProcess = OpenProcess(PROCESS_SET_INFORMATION, FALSE, dwProcessId);
if (!hProcess)
{
GetLastErrorText(szText, 260);
LoadStringW(hInst, IDS_MSG_UNABLECHANGEPRIORITY, szTitle, 256);
MessageBoxW(hMainWnd, szText, szTitle, MB_OK|MB_ICONSTOP);
return;
}
if (!SetPriorityClass(hProcess, priority))
{
GetLastErrorText(szText, 260);
LoadStringW(hInst, IDS_MSG_UNABLECHANGEPRIORITY, szTitle, 256);
MessageBoxW(hMainWnd, szText, szTitle, MB_OK|MB_ICONSTOP);
}
CloseHandle(hProcess);
}