void CCd_romView::OnHotkeyMask() 
{
int tempint=0;
SystemParametersInfo(SPI_SETSCREENSAVERRUNNING,1,&tempint,0);
}怎么不行啊
XP上试验的

解决方案 »

  1.   

    你是要屏蔽ctrl+alt+del吗?可以这样:
    HKEY hk;
    if (RegOpenKey(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System",&hk)!=ERROR_SUCCESS)
    RegCreateKey(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", &hk);
    DWORD val=1;
    RegSetValueEx(hk, "DisableTaskMgr", NULL,
    REG_DWORD, (BYTE*)&val, sizeof(val));
    CRect rct(0,0,0,0);
    ClipCursor(rct);
    SystemParametersInfo(SPI_SETSCREENSAVERRUNNING,true,0,SPIF_UPDATEINIFILE);
    ::EnableWindow(::FindWindow("Shell_TrayWnd",NULL),FALSE);解除屏蔽:
    ClipCursor(NULL);
    SystemParametersInfo(SPI_SETSCREENSAVERRUNNING,false,0,SPIF_UPDATEINIFILE);
    ::EnableWindow(::FindWindow("Shell_TrayWnd",NULL),TRUE);

    HKEY hk;
    if (RegOpenKey(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System",&hk)!=ERROR_SUCCESS)
    RegCreateKey(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", &hk);
    RegDeleteValue(hk,"DisableTaskMgr");