ReactOS  0.4.12-dev-18-gf469aca
priority.c
Go to the documentation of this file.
1 /*
2  * ReactOS Task Manager
3  *
4  * priority.c
5  *
6  * Copyright (C) 1999 - 2001 Brian Palmer <brianp@reactos.org>
7  * 2005 Klemens Friedl <frik85@reactos.at>
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU Lesser General Public
11  * License as published by the Free Software Foundation; either
12  * version 2.1 of the License, or (at your option) any later version.
13  *
14  * This library is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17  * Lesser General Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public
20  * License along with this library; if not, write to the Free Software
21  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22  */
23 
24 #include "precomp.h"
25 
27 {
28  DWORD dwProcessId;
30  WCHAR szText[260];
31  WCHAR szTitle[256];
32 
33  dwProcessId = GetSelectedProcessId();
34 
35  if (dwProcessId == 0)
36  return;
37 
40  if (MessageBoxW(hMainWnd, szText, szTitle, MB_YESNO|MB_ICONWARNING) != IDYES)
41  return;
42 
43  hProcess = OpenProcess(PROCESS_SET_INFORMATION, FALSE, dwProcessId);
44 
45  if (!hProcess)
46  {
47  GetLastErrorText(szText, 260);
49  MessageBoxW(hMainWnd, szText, szTitle, MB_OK|MB_ICONSTOP);
50  return;
51  }
52 
53  if (!SetPriorityClass(hProcess, priority))
54  {
55  GetLastErrorText(szText, 260);
57  MessageBoxW(hMainWnd, szText, szTitle, MB_OK|MB_ICONSTOP);
58  }
59 
60  CloseHandle(hProcess);
61 }
DWORD GetSelectedProcessId(void)
Definition: procpage.c:99
#define CloseHandle
Definition: compat.h:398
#define IDYES
Definition: winuser.h:829
__wchar_t WCHAR
Definition: xmlstorage.h:180
void DoSetPriority(DWORD priority)
Definition: priority.c:26
BOOL WINAPI SetPriorityClass(IN HANDLE hProcess, IN DWORD dwPriorityClass)
Definition: proc.c:1722
_In_ BOOL _In_ HANDLE hProcess
Definition: mapping.h:70
#define MB_ICONSTOP
Definition: winuser.h:797
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
#define IDS_MSG_UNABLECHANGEPRIORITY
Definition: resource.h:249
#define MB_ICONWARNING
Definition: winuser.h:780
#define MB_YESNO
Definition: winuser.h:811
static const WCHAR szText[]
Definition: dialog.c:139
int WINAPI MessageBoxW(_In_opt_ HWND, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_ UINT)
unsigned long DWORD
Definition: ntddk_ex.h:95
TCHAR szTitle[MAX_LOADSTRING]
Definition: magnifier.c:36
HWND hMainWnd
Definition: magnifier.c:33
#define IDS_MSG_TASKMGRWARNING
Definition: resource.h:246
HANDLE WINAPI OpenProcess(IN DWORD dwDesiredAccess, IN BOOL bInheritHandle, IN DWORD dwProcessId)
Definition: proc.c:1257
HINSTANCE hInst
Definition: dxdiag.c:13
LPWSTR GetLastErrorText(LPWSTR lpszBuf, DWORD dwSize)
Definition: taskmgr.c:1152
#define MB_OK
Definition: winuser.h:784
#define IDS_MSG_WARNINGCHANGEPRIORITY
Definition: resource.h:250
static int priority
Definition: timer.c:163
#define PROCESS_SET_INFORMATION
Definition: pstypes.h:157