前一段看Acer本的广告,看到笔本全屏了一个音的波形子里闪过了一个念,用音做屏保加上音的屏幕效果应该很不,作程序,往往子里想的是:如果要我写西要怎做。于是就有了我今天要谈论话题

      从网上找了一下于如何做屏保程序的料,不是很多,好多都是写好的件。代码级别的就找到一个微的,不Microsoft,把思想清楚了,最人感的是居然有全部的代接如下:http://support.microsoft.com/kb/818359/zh-cn

     参照上面的文章,要搞清楚windows是怎么设定和启屏保程序的。桌面上右,在出菜选择属性,出示属性窗口,选择屏幕保程序,有一个选择屏保程序的下拉框,其选项对应统盘\WINDOWS\system32下以scr名的文件(用程序)。你选择了某个选项屏保后,系Timer就会计时足启屏保的条件,被选择的屏保程序就启运行,启后它会做一些作,比如全屏,在所有窗口前,黑底,示字或者形并运起来。所有的屏保共通点是:必在点或移,按下键盘上的任意键时结束,候屏保程序的任就完成了。如果你在先前置屏保,在前的复选框上打上,那程序将回到系迎界面入密,我想不是屏保的工作,而是由Timer来做的,在屏保程序束的地方行判断是否需要做密。上面都是我查阅资料加上我自己的理解,搞不好Windows就是这么做的,呵呵。

    按照上面的理解,需要可行性分析。自己写一个程序,以scr名,把他放到系统盘\WINDOWS\system32下,然后在才那个屏保的下拉框里选择自己的屏保可行?能用吗?事实证真的可以,可行性分析OK了

    分析上面接里的料,先懂它的代先。示例代有一个对话框窗体(滚动文字内容),一个屏保窗体和一个Module。从程序代中我可以学到不少西。程序入口Sub MainModule中,从里我可以了解到原来置屏保程序,在屏幕保程序属性击设windows向屏保程序传递的第一个启参数包含"/c",而预览实绩运行windows向屏保程序传递的第一个启参数包含"/s"对话框窗体frmcnfg屏保窗体frmscr提供了如何写入系注册表和取注册表的方法。③PrevInstance()函数提供了如何防止一个程序被启多个的方法④屏保窗体frmscr中提供了关闭和打WindowsCTRL+ALT+DEL ALT+TAB的方法(使用了API函数)。⑤于移时程序结束的处理。如果要自己写程序,可能会在个地方遇到问题,如果在MouseMove事件中只有me.close(),那屏保程序一下就停了。参照上面的料我就能知道原因了,因窗体启之后有个初始化鼠位置的作,其应该是一格一格的(我根据代猜的),所以我看到微提供的方法是移的幅度大于3结束程序。⑥美中不足的是个程序没有响应MouseDown事件,自己加上就行了。

    还是把完整的代码贴在下面,方便查阅,再次声明是转自以下链接: http://support.microsoft.com/kb/818359/zh-cn
frmscr

frmcnfg

Module1

    上面的西就是屏保程序的基本框架了,窗体启之后就是我可以DIY的部分了,可以加个Timer做一些移文字,形的作,些都是数学的算法游,我可以充分发挥自己的想象力,可以操作音放音,系应该都是可以用的大家一起DIY吧。


posted on 2008-05-30 14:12  雷达  阅读(1484)  评论(1编辑  收藏  举报