1 /* 2 * PROJECT: ReactOS Task Manager 3 * LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later) 4 * PURPOSE: Process Priority. 5 * COPYRIGHT: Copyright 1999-2001 Brian Palmer <brianp@reactos.org> 6 * Copyright 2005 Klemens Friedl <frik85@reactos.at> 7 */ 8 9 #include "precomp.h" 10 11 void DoSetPriority(DWORD priority) 12 { 13 DWORD dwProcessId; 14 HANDLE hProcess; 15 WCHAR szText[260]; 16 WCHAR szTitle[256]; 17 18 dwProcessId = GetSelectedProcessId(); 19 20 if (dwProcessId == 0) 21 return; 22 23 LoadStringW(hInst, IDS_MSG_TASKMGRWARNING, szTitle, 256); 24 LoadStringW(hInst, IDS_MSG_WARNINGCHANGEPRIORITY, szText, 260); 25 if (!ConfirmMessageBox(hMainWnd, szText, szTitle, MB_YESNO|MB_ICONWARNING)) 26 return; 27 28 hProcess = OpenProcess(PROCESS_SET_INFORMATION, FALSE, dwProcessId); 29 30 if (!hProcess) 31 { 32 GetLastErrorText(szText, 260); 33 LoadStringW(hInst, IDS_MSG_UNABLECHANGEPRIORITY, szTitle, 256); 34 MessageBoxW(hMainWnd, szText, szTitle, MB_OK|MB_ICONSTOP); 35 return; 36 } 37 38 if (!SetPriorityClass(hProcess, priority)) 39 { 40 GetLastErrorText(szText, 260); 41 LoadStringW(hInst, IDS_MSG_UNABLECHANGEPRIORITY, szTitle, 256); 42 MessageBoxW(hMainWnd, szText, szTitle, MB_OK|MB_ICONSTOP); 43 } 44 45 CloseHandle(hProcess); 46 } 47