mirror of
https://github.com/reactos/reactos.git
synced 2024-12-27 09:34:43 +00:00
[TASKMGR] Hold Shift to bypass MessageBox confirmation (#5845)
Allow the user to hold shift to automatically answer IDYES when killing/debugging a process or changing the priority.
This commit is contained in:
parent
31876ba8c2
commit
5d1be078f8
5 changed files with 13 additions and 4 deletions
|
@ -30,7 +30,7 @@ void ProcessPage_OnDebug(void)
|
|||
LoadStringW(hInst, IDS_MSG_WARNINGDEBUG, szTemp, _countof(szTemp));
|
||||
LoadStringW(hInst, IDS_MSG_TASKMGRWARNING, szTempA, _countof(szTempA));
|
||||
|
||||
if (MessageBoxW(hMainWnd, szTemp, szTempA, MB_YESNO | MB_ICONWARNING) != IDYES)
|
||||
if (!ConfirmMessageBox(hMainWnd, szTemp, szTempA, MB_YESNO | MB_ICONWARNING))
|
||||
{
|
||||
GetLastErrorText(strErrorText, _countof(strErrorText));
|
||||
LoadStringW(hInst, IDS_MSG_UNABLEDEBUGPROCESS, szTemp, _countof(szTemp));
|
||||
|
|
|
@ -39,7 +39,7 @@ void ProcessPage_OnEndProcess(void)
|
|||
/* if this is a standard process just ask for confirmation before doing it */
|
||||
LoadStringW(hInst, IDS_MSG_WARNINGTERMINATING, strErrorText, 256);
|
||||
LoadStringW(hInst, IDS_MSG_TASKMGRWARNING, szTitle, 256);
|
||||
if (MessageBoxW(hMainWnd, strErrorText, szTitle, MB_YESNO|MB_ICONWARNING|MB_TOPMOST) != IDYES)
|
||||
if (!ConfirmMessageBox(hMainWnd, strErrorText, szTitle, MB_YESNO|MB_ICONWARNING|MB_TOPMOST))
|
||||
{
|
||||
if (hProcess) CloseHandle(hProcess);
|
||||
return;
|
||||
|
@ -169,7 +169,7 @@ void ProcessPage_OnEndProcessTree(void)
|
|||
|
||||
LoadStringW(hInst, IDS_MSG_WARNINGTERMINATING, strErrorText, 256);
|
||||
LoadStringW(hInst, IDS_MSG_TASKMGRWARNING, szTitle, 256);
|
||||
if (MessageBoxW(hMainWnd, strErrorText, szTitle, MB_YESNO|MB_ICONWARNING) != IDYES)
|
||||
if (!ConfirmMessageBox(hMainWnd, strErrorText, szTitle, MB_YESNO|MB_ICONWARNING))
|
||||
{
|
||||
if (hProcess) CloseHandle(hProcess);
|
||||
return;
|
||||
|
|
|
@ -22,7 +22,7 @@ void DoSetPriority(DWORD priority)
|
|||
|
||||
LoadStringW(hInst, IDS_MSG_TASKMGRWARNING, szTitle, 256);
|
||||
LoadStringW(hInst, IDS_MSG_WARNINGCHANGEPRIORITY, szText, 260);
|
||||
if (MessageBoxW(hMainWnd, szText, szTitle, MB_YESNO|MB_ICONWARNING) != IDYES)
|
||||
if (!ConfirmMessageBox(hMainWnd, szText, szTitle, MB_YESNO|MB_ICONWARNING))
|
||||
return;
|
||||
|
||||
hProcess = OpenProcess(PROCESS_SET_INFORMATION, FALSE, dwProcessId);
|
||||
|
|
|
@ -1056,6 +1056,14 @@ void TaskManager_OnTabWndSelChange(void)
|
|||
}
|
||||
}
|
||||
|
||||
BOOL ConfirmMessageBox(HWND hWnd, LPCWSTR Text, LPCWSTR Title, UINT Type)
|
||||
{
|
||||
UINT positive = ((Type & 0xF) <= MB_OKCANCEL ? IDOK : IDYES);
|
||||
if (GetKeyState(VK_SHIFT) < 0)
|
||||
return TRUE;
|
||||
return (MessageBoxW(hWnd, Text, Title, Type) == positive);
|
||||
}
|
||||
|
||||
VOID ShowWin32Error(DWORD dwError)
|
||||
{
|
||||
LPWSTR lpMessageBuffer;
|
||||
|
|
|
@ -80,6 +80,7 @@ void TaskManager_OnRestoreMainWindow(void);
|
|||
void TaskManager_OnMenuSelect(HWND hWnd, UINT nItemID, UINT nFlags, HMENU hSysMenu);
|
||||
void TaskManager_OnViewUpdateSpeed(DWORD);
|
||||
void TaskManager_OnTabWndSelChange(void);
|
||||
BOOL ConfirmMessageBox(HWND hWnd, LPCWSTR Text, LPCWSTR Title, UINT Type);
|
||||
VOID ShowWin32Error(DWORD dwError);
|
||||
LPTSTR GetLastErrorText( LPTSTR lpszBuf, DWORD dwSize );
|
||||
DWORD EndLocalThread(HANDLE *hThread, DWORD dwThread);
|
||||
|
|
Loading…
Reference in a new issue