用Visual C++编写完整的屏幕保护程序


所属类别:vc

文章作者:不祥

特别推荐:免费发布信息 承包关键词~~抢爆了!HOT!


ParseCommandLine( ) 返回后,程序根据不同的返回值进行响应:

返回值=sm_preview或者sm_test 或者sm_full:

程序根据返回的运行模式和Window句柄使用CreateWindow函数创建窗口(Window)并返回指向该窗口的句柄。这部分功能包含在自定义的CreateSaverWindow()函数中。在sm_preview情况下,程序用消息循环的方式等待500ms使操作系统的控制面板有足够的时间初始化。然后,读注册表检查屏保是否设定了密码,如果是,在Win9x情况下,用LoadLibrary()和GetProcessAdress()函数从动态链接库(DLL)中获得密码验证函数指针供程序退出时使用,密码验证函数类型为BOOL PASCAL (HWND)。这部分功能包含在自定义函数InitSaver()中。

以上窗口创建使用同一个窗口类(Window Class(WNDCLASS)),当然也是同一个消息响应函数(Window’s Procedure)。最后显示窗口,开始消息循环。

返回值=sm_passwordchange:

用LoadLibrary()和 GetProcessAdress()API获得密码设置函数指针,密码设置函数类型为:DOWORD PASCAL ( LPCSTR, HWND, DWORD, LPVOID ),然后调用该函数进行密码更改。

返回值=sm_config

显示一个对话框(Dialog),获取用户信息,在程序中进行相应的更改。

屏幕保护程序的退出机制反映在程序的消息响应函数(Window’s Procedure)中,当按下键盘上任何一个健或者鼠标移动计数超过5次(防止桌面振动等因素导致的鼠标移动),程序进入退出机制,在sm_test或者sm--_full情况下查看屏幕保护程序是否设置密码,如果是,验证密码,正确,程序退出,错误,程序继续。当程序验证密码时,通过全局变量g_bCheckingSaverPassword告诉消息响应函数对屏幕刷新,以保证密码的输入。其他情况(sm_config, sm_preview)不用验证密码直接退出。这些功能包括在自定义的函数InterruptSaver( )和ShutdownSaver( )中。

上述各个函数的详细代码如下:

1、 CreateSaverWindow 函数:

相关信息

· 体验Win 2000运行如飞的感觉

· 利用J2ME开发联网程序实例

·  关于电子商务网站的需求调查

· WinCE中基于Media Player的多媒体开发








....

27541 79531