agenta攻略第二章:C语言问题 我做了一个应用程序,怎么把他弄成屏幕保护程序

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/28 22:10:48

Windows标准的屏保程序是以.src扩展名的,其实它是一个标准的EXE可执行程序,但是它也存在自己的一些特性:WINDOWS在调用屏保程序的时候会传递一些参数,告诉系统是以全屏,预览,设置等方式运行,其次:程序,必须处理一些特定的WINDOWS消息.
1.传递参数可以使用:int main(int argc,char *argv[])来进行传递参数.WINDOWS中:/s是全屏执行,/c参数设置 ,/a是预览,/p设置密码
2.拦截消息.这个比较复杂,C语言来做,恐怕有点难,在VC或bcb下可以轻松实现拦截消息.(否则,你的屏保失去交互能力,出现假死机现象)
以下是消息拦截(公参考):
//for Bcb
void __fastcall TForm1::WMEraseBkgnd(TWMEraseBkgnd &Msg)
{
//禁止檫除背景.
Msg.Result=false;
}
void __fastcall TForm1::WMActivate(TWMActivate &Msg)
{
//失去焦点时退出.
if(Msg.Active==false)Close();
}
...