2008年(884)
分类: C/C++
2008-08-06 09:54:19
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并去掉编辑器自动加入的 #define DLG_SCRNSAVECONFIGURE 101 这一行
// 程序需要的头文件 #include接下来,所需要做的就是保存文件,编译,还有就是将编译通过的文件后缀改为.scr 并将它拷贝到系统目录下看看运行结果了。 下载本文示例代码#pragma comment(lib,"scrnsave.lib") //使用库文件 #include "resource.h" LRESULT CALLBACK ScreenSaverProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_PAINT: { PAINTSTRUCT ps; HDC hDC = BeginPaint(hWnd, &ps); SetBkMode(hDC, TRANSPARENT); SetTextColor(hDC, RGB(0x33, 0xcc, 0)); TextOut(hDC, 150, 150, "", 15); EndPaint(hWnd, &ps); } break; case WM_DESTROY: PostQuitMessage(0); break; default: // 缺省的消息处理函数 return DefScreenSaverProc(hWnd,message,wParam,lParam); } return 0; } BOOL WINAPI ScreenSaverConfigureDialog(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_COMMAND: //处理 确定 按钮 if (LOWORD(wParam) == IDOK) { EndDialog(hDlg, LOWORD(wParam)); return TRUE; } else { //系统的处理退出命令 EndDialog(hDlg, LOWORD(wParam)); return TRUE; } break; } return FALSE; } BOOL WINAPI RegisterDialogClasses(HANDLE hInst) { return TRUE; }