屏幕保护程序与控制面板的关系(欢迎讨论)

Variant 2000-09-04 06:45:00
1。操作系统:windows98
2。编程环境:visualc 6。0
3。问题
现象:
第一个:
直接复制MSDN自己带的屏幕保护程序SAVER,不作任何改动,编译后将其
输出文件saver.scr拷贝到c:\windows\system下,然后在控制面板中选择
显示器,在屏幕保护中选择saver,此时出现以下现象:
* 预览按钮可以工作。
* 设置按钮不工作。
* 如果选择了密码设置,那么密码根本不起作用。
第二个:
在编译时将输出文件改成.exe输出,此时如果在运行框内用命令行输入,
出现以下现象:
* ....\saver.exe /c 运行后出现设置对话框,正确。
* ....\saver.exe /s 运行后进入屏幕保护,正确。
* ....\saver.exe /p 运行会出现错误提示,"出现错误操作",错误。

问题:
屏幕保护程序与控制面板(其实就是操作系统)之间到底是怎样通信的?
譬如,用户点击设置按钮后,屏幕保护程序会怎样响应之?是不是用户点击
预览、设置按钮都是用响应的参数调用并执行程序?如果是这样,那么如何解释
上面的现象?

密码设置是怎样加入屏幕保护程序的?是控制面板实现呢,还是在每个
屏幕保护程序中实现?似乎应该是前一个,那么又怎样实现呢?或者可能是
这样:控制面板响应密码设置操作,将密码信息写入注册表,然后在每个屏幕
保护程序中响应键盘和鼠标消息并要求用户输入密码并检验。哎呀,越说越
胡涂了。

如果用screen saver library 直接编程,msdn里讲的比较简单,里面提到
只要编写几个函数,然后和library 一起编译即可。我实在不明白什么叫一起编译。
是不是我只要建立一个源文件,然后将这些函数放在该文件中,include library,
在加上其他的一些细节就可以编译了。我先是建了一个win32 application(就是
那个hello world的),改写了一部分,未能成功。从msdn的文档来看,library中
提供了start code,好像是library中隐含winmain,它从内部调用了我自己定义的
那几个函数。

我现在是糊里糊涂的,上面提到的只是自己的一点想法,错误多多,大家看了
尽管指正之,感激不尽。
...全文
220 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Variant 2000-09-07
  • 打赏
  • 举报
回复
leoufu:
我等得花儿都要谢了。
但愿相信你不是个错误。


leonfu 2000-09-07
  • 打赏
  • 举报
回复
我星期六寄给你,因为我的源代码在家里。
leonfu 2000-09-04
  • 打赏
  • 举报
回复
我给源代码,请给分,我这星期一定寄
Email:leonfu@citiz.net

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧