和我一起写屏幕保护

对于屏幕保护程序,大家应该不会陌生。屏幕保护程序的后缀名是.scr,其实它就是一个可执行的.exe文件。

VC提供了一个支持屏幕保护的开发库scrnsave.lib,这个库已经定制了一个屏幕保护程序的框架结构,开发者只需要在完成相应的函数和提供相应的资源就可以写出自己的屏幕保护程序。

我们所需要完成的函数有:

// 屏幕保护程序的窗口函数,几乎所有的操作都在这里进行

BOOL WINAPI ScreenSaverProc(
HWND hWnd,
UINT message,
WPARAM wParam,
LPARAM lParam);

// 屏幕保护设置对话框的窗口函数

BOOL WINAPI ScreenSaverConfigureDialog(
HWND hDlg,
UINT message,
WPARAM wParam,
LPARAM lParam);

// 在这里注册特殊的屏幕保护设置对话框的窗口类

BOOL WINAPI RegisterDialogClasses(
HANDLE hInst);

好了,介绍了以上的内容,接下来我们就写一个最简单的屏幕保护程序:黑屏

跟着我,一步一步做吧。

首先,我们打开VC,建立一个Win32 Application 的工程。工程的名字就叫做SimpleScr好了。

接下来,向工程中加入一个对话框资源。(这个对话框当我们在桌面的属性中设置屏保时,点击“设置”时会看到)步骤如下:

1. 选择菜单 插入->资源类型 出现对话框,在对话框中选择 “Dialog”资源 然后 新建。

2. 保存资源 文件->保存 出现“另存为”对话框,在对话框中写入要保存的文件的名称:

SimpleScr.rc。

3. 将SimpleScr.rc 文件 和 resource.h 文件添加到工程中。

4. 将对话框的ID改为: DLG_SCRNSAVECONFIGURE

5. 编辑我们的对话框,在对话框中加入版本信息了什么的,自由发挥了 :)

6. 打开resource.h 文件修改,加入代码:

#include <scrnsave.h>

并去掉编辑器自动加入的 #define DLG_SCRNSAVECONFIGURE 101 这一行

因为DLG_SCRNSAVECONFIGURE 已经在 scrnsave.h中定义过了。

现在我们就开始改写前面说过的scrnsave.lib中的函数了,步骤如下:

时间: 2025-01-19 19:32:19

和我一起写屏幕保护的相关文章

如何获取屏幕保护程序的密码

大家都知道,windows9x只是一个桌面操作系统,它的稳定性和保密性一直受大家的批评.现在,我就通过介绍提取windows98的屏幕保护程序的密码的算法来说明windows98的保密性是怎样的差! 一.屏幕保护程序(以下简称屏保)密码的加密算法 通常,评价一个加密算法,就要看密钥怎么产生,加密算法是否强大.windows98的屏保密码的明文是有限制的,它的长度最大为128个字符,它的字符集是字母表,数字,和一些标点符号,也就是可视的ascii字符集.windows98密码密文的长度是明文长度的

巧妙卸载公用电脑的屏幕保护程序_WindowsXP

学校的微机室是多个班级共用,一个班级的学生上课时指定了屏幕保护程序并设定了口令,下一个班级的学生上课时,如果在指定的时间内(最短时间为1分钟)没有使用计算机,即运行屏幕保护程序.由于这个班的学生不知道口令,所以只好按下Reset键重启计算机.此时计算机的硬盘正高速旋转,按Reset键重启计算机时会划伤存有大量数据的硬盘.长此一往,就会使硬盘夭折,不仅会丢失大量教学数据,而且还会增加学校的经济负担.因此,在学校多班并用的微机室,卸载计算机的屏幕保护程序已成为大多数教师的迫切要求.下面,笔者把自己卸

delphi编程启动屏幕保护程序

在一些比较高级的程序中,有些资料是秘密的,那么在有人接近的时候,就需要启动一个屏幕保护,保护自己的电脑资料,所以我们选用WINDOWS的屏幕保护功能,可是操作系统需要我们在一定的时间内不接触电脑才能启动保护程序,这是达不到实时效果的,所以利用下列语句直接开始Windows的屏幕保护程序: SendMessage(HWND_BROADCAST,WM_SYSCOMMAND,SC_SCREENSAVE,0); 把以上语句放到程序的某个菜单中,并为该菜单定义一个热键,那么下次就只需按一个键就保护了自己的

程序: 使用 API 开始屏幕保护

程序 *---------------------------------------------------------------------* 使用 API 开始屏幕保护        设计: 红雨*---------------------------------------------------------------------Declare integer SendMessage in user32 integer,integer,integer,integerDeclare i

调用屏幕保护 40Star(原作)

想要调用系统屏幕保护,主要是发送一个WM_SYSCOMMAND消息即可.     Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Int32, ByVal wMsg As Int32, ByVal wParam As Int32, ByVal lParam As Int32) As Int32    Private Const HWND_BRO

用Visual C#编写屏幕保护程序

visual|程序 Visual C#是微软公司推出的新一代程序开发语言,是微软.Net框架中的一个重要组成部分.屏幕保护程序是以scr为扩展名的标准Windows可执行程序.屏幕保护程序不仅可以延长显示器的使用寿命,还可以保护私人信息.本文向大家介绍一个.Net平台上用C#编写的一个动态文本及图形的屏幕保护程序. 一.具体实现步骤: (1)在Visual Studio.Net下新建一个C#的Windows应用程序工程,不妨命名为screen_saver. (2)现在我们来设计程序的主界面: 先

利用VB6.0设计屏幕保护程序

Windows操作平台设有一个屏幕的保护措施,即屏幕保护功能.经常在Windows操作平台上使用电脑的人们对系统提供给我们的几个屏幕保护程序是不是感到非常平常了,没有新鲜感了,是不是想自己设计屏幕保护程序.下面介绍如何利用VB设计用户自己的屏幕保护程序.屏幕保护程序可以保护显示屏不被损坏,同时节约能源.作为屏幕保护程序,应该具有如下特性: 1)屏幕保护程序运行时,鼠标光标被自动隐藏,在程序结束时,光标显示.2)当单击.移动鼠标或按下键盘时,屏幕保护结束,回到正常操作状态.为了实现这些特性,在编写

用汇编编写屏幕保护程序

屏幕保护程序是什么,相信大家都用过,但对于它的结构也许就不那么熟悉了.屏幕保护程序是一种特使的 .exe 文件,实际上它是一个标准的 PE 文件,除了有扩展名 .scr,当然这个扩展名也是用连接程序产生的 .exe 文件改名得到的.但在编程中,屏幕保护程序又有它的特殊的地方,说穿了就是它的编程规范. 屏幕保护程序有以下特点: 屏幕保护程序是Win32 API 支持一种特殊的应用程序并由系统自动激活.其机制是当条件满足时,系统向当前活动窗口发出字参数 wParam 值为 SC_SCREENSAVE

双系统下XP也用Windows Vista的屏幕保护

双系统的存在自然有他的道理,有的是程序员开发VC6等程序需要还保持在XP系统,有的朋友是为了玩些游戏,还有些朋友是为了--总之存在即合理. 但是使用Vista时间长了,就知道回归到XP的一些别扭之处,和刚开始不适应Vista系统的感觉差不多竟然.于是,双系统下面的XP也被美化成了Vista主题风格等等. 今天和大家聊下XP系统下使用Vista自带的屏保程序的问题,其实很简单,就是复制. 具体方法如下: 1.进入Vista系统,打开"计算机"到x:\Windows\System32(x指