C++Builder 程序员博客
3 Jul
单位从保密的高度出发,让每个人都要设统一的屏保,时间5分钟,恢复需要密码,并且密码为强口令,这样带来了很大的麻烦,于是想,自己写个小程序,尽管现在的工作是硬件。
主要实现代码(BCB6) void __fastcall TForm1::CaptureMessage(tagMSG &Msg,bool &Handled)
{
if(Msg.message= =WM_SYSCOMMAND && Msg.wParam= =SC_SCREENSAVE)
Handled=true; //阻止屏幕保护的启动
else
Handled=false; //进行该消息的缺省处理
}
然后在一个按钮click事件中 Application->OnMessage=CaptureMessage;
这个经过测试,没有问题。
继续:
这个小东东在状态栏也不好啊,属于违规的,于是最小化到托盘,采用TrayIcon1组件,按窗口的最小化,程序就到托盘了,这里在刚才那个click事件中加入
SendMessage(Form1->Handle, WM_SYSCOMMAND, SC_MINIMIZE, NULL); 这样到托盘。
但是问题出现了,现在再也无法截获WM_SYSCOMMAND消息,不能阻止屏保了。
业余时间有限,特向高手们请教。
既然保密,还是遵守的好
该回复于2008-07-03 12:03:11被版主删除