1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- #include "StdAfx.h"
- #include "TaskKeyMgr.h"
- #define HKCU HKEY_CURRENT_USER
- LPCTSTR KEY_DisableTaskMgr =
- "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System";
- LPCTSTR VAL_DisableTaskMgr = "DisableTaskMgr";
- void CTaskKeyMgr::Disable(DWORD dwFlags, BOOL bDisable, BOOL bBeep)
- {
-
- if (dwFlags & TASKMGR)
- {
- HKEY hk;
- if (RegOpenKey(HKCU, KEY_DisableTaskMgr,&hk)!=ERROR_SUCCESS)
- RegCreateKey(HKCU, KEY_DisableTaskMgr, &hk);
-
- if (bDisable)
- {
- DWORD val=1;
- RegSetValueEx(hk, VAL_DisableTaskMgr, NULL,
- REG_DWORD, (BYTE*)&val, sizeof(val));
- } else
- {
- RegDeleteValue(hk,VAL_DisableTaskMgr);
- }
- RegCloseKey(hk);
- }
-
- if (dwFlags & TASKKEYS)
- ::DisableTaskKeys(bDisable,bBeep);
-
- if (dwFlags & TASKBAR) {
- HWND hwnd = FindWindow("Shell_traywnd", NULL);
- EnableWindow(hwnd, !bDisable);
- }
- }
- BOOL CTaskKeyMgr::IsTaskBarDisabled()
- {
- HWND hwnd = FindWindow("Shell_traywnd", NULL);
- return IsWindow(hwnd) ? !IsWindowEnabled(hwnd) : TRUE;
- }
- BOOL CTaskKeyMgr::IsTaskMgrDisabled()
- {
- HKEY hk;
- if (RegOpenKey(HKCU, KEY_DisableTaskMgr, &hk)!=ERROR_SUCCESS)
- return FALSE;
- DWORD val=0;
- DWORD len=4;
- BOOL ret = RegQueryValueEx(hk, VAL_DisableTaskMgr,
- NULL, NULL, (BYTE*)&val, &len)==ERROR_SUCCESS && val==1;
- RegCloseKey(hk);
- return ret;
- }
|