System menu block
-
How to block access to system menu (WinKey, Control+Esc, eventually Control+Alt+Del) Emi
I made some progress, but this code is only for detect Control+Esc I think SendInput may be a solution. Any ideeas ? void CMainFrame::OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized) { CFrameWnd::OnActivate(nState, pWndOther, bMinimized); if(nState==1) { m_nSysEnter=0; return; } BOOL bCtrlDown = (!(GetKeyState(VK_CONTROL)==0)); if(bCtrlDown) { m_nSysEnter++; if(m_nSysEnter > 1) return; ::MessageBox(0,"Use only interface programs.", "WARNING",MB_ICONWARNING | MB_OK | MB_TOPMOST); } } Emi
-
How to block access to system menu (WinKey, Control+Esc, eventually Control+Alt+Del) Emi
Finally, I found it !! This code detect and cancel user input: Control+Esc void CMainFrame::OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized) { CFrameWnd::OnActivate(nState, pWndOther, bMinimized); if(nState==1) return; BOOL bCtrlDown = (!(GetKeyState(VK_CONTROL)==0)); if(bCtrlDown) { // Wait for init Sleep(300); // Send cancel keybd_event( VK_ESCAPE,0,0,0 ); keybd_event( VK_ESCAPE,0,KEYEVENTF_KEYUP,0); // Send task change keybd_event( VK_MENU,0,0,0 ); keybd_event( VK_ESCAPE,0,0,0 ); keybd_event( VK_ESCAPE,0,KEYEVENTF_KEYUP,0); keybd_event( VK_MENU,0,KEYEVENTF_KEYUP,0); } } Emi