对于一些需要注册认证的软件,如果检测到注册非法,可以采用简单的锁定键盘和鼠标以及黑屏。相对“不断重启系统”来说,这应该算是一种比较温和的办法吧:-)
//以下代码仅在Win2K Pro下测试通过
void CEnrol::ComputerLock()
{
//显示器黑屏
SendMessage(HWND_BROADCAST,WM_SYSCOMMAND,SC_MONITORPOWER,2);
//锁定键盘和鼠标
HINSTANCE hInst = NULL;
hInst = LoadLibrary("user32.dll");
if(hInst)
{
BOOL (__stdcall *BlockInput)(BOOL Flag);
BlockInput = (BOOL (__stdcall *)(BOOL Flag))
GetProcAddress(hInst,"BlockInput");
if(BlockInput)
BlockInput(TRUE);
//!!!!!!!!!!!!!!!!!!!!!!!!!!!
//测试代码,用户恢复键盘锁定!
//Sleep(3000);
//BlockInput(FALSE);
//!!!!!!!!!!!!!!!!!!!!!!!!!!!
}
FreeLibrary(hInst);
}
转贴于http://blog.vckbase.com/flowsand/archive/2005/03/14/3558.html