【原创】用MASM32写的黑屏保护程序

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;   FileName: blackscr.asm
;   Function: A black screen saver
;     Author: Purple Endurer
;Development: Windows 2000 pro + MASM32 V8
;       Note: 本程序是在罗云彬屏幕保护程序模板Ver 1.0的基础上创建
;log
;==================================================================
; 2005.05.27 Created!
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

.386
.model flatstdcall
option casemap :none ; case sensitive

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Include 数据
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
include /masm32/include/windows.inc
include /masm32/include/user32.inc
include /masm32/include/kernel32.inc
include /masm32/include/comctl32.inc
include /masm32/include/comdlg32.inc
include /masm32/include/gdi32.inc
include /masm32/include/advapi32.inc
include /masm32/include/shell32.inc
include /masm32/include/scrnsave.inc

includelib /masm32/lib/user32.lib
includelib /masm32/lib/kernel32.lib
includelib /masm32/lib/comctl32.lib
includelib /masm32/lib/comdlg32.lib
includelib /masm32/lib/gdi32.lib
includelib /masm32/lib/advapi32.lib
includelib /masm32/lib/shell32.lib
includelib /masm32/lib/scrnsave.lib
includelib /masm32/lib/msvcrt.lib

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Equ 数据
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
ICO_MAIN equ 100 ;Must be 100

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 数据段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.data
g_szAbout   db  "本程序由Purple Endurer采用MASM32开发!", 0ah, 0dh, 0ah, 0dh, "不需要设置参数!", 0
g_szAppName db  "黑屏保护程序", 0


;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 代码段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.code

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 主程序窗口过程
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
ScreenSaverProc proc hWnd: DWORD,uMsg: DWORD,wParam: DWORD,lParam: DWORD
    .if uMsg == WM_DESTROY
        invoke    DestroyWindow, hWnd
        invoke    PostQuitMessage, NULL
    .endif
    invoke DefScreenSaverProc,hWnd,uMsg,wParam,lParam
    ret
ScreenSaverProc endp

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 设置对话框过程
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
ScreenSaverConfigureDialog proc hWnd:DWORD,wMsg:DWORD,wParam:DWORD,lParam:DWORD
    .if  wMsg == WM_INITDIALOG
        invoke MessageBox, hWnd, ADDR g_szAbout, ADDR g_szAppName, MB_ICONINFORMATION
        invoke EndDialog,hWnd,NULL  ;关闭设置对话框
        mov eax,FALSE
        ret
    .endif
    mov eax,TRUE
    ret
ScreenSaverConfigureDialog endp

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 注册设置对话框窗口Class过程
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
RegisterDialogClasses proc hInst:DWORD
    mov eax,TRUE
    ret
RegisterDialogClasses endp

end WinMain ;必须是WinMain

 

;##########################
;rsrc.rc
;##########################
#include "/masm32/include/resource.h"

#define ICO_MAIN 100        //图标的ID必须是100
#define DLG_SETUP 2003  //设置对话框的ID必须是2003


ICO_MAIN ICON "main.ico"

//设置对话框,大小为0
DLG_SETUP DIALOG DISCARDABLE 0, 0, 0, 0
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
{
}

STRINGTABLE DISCARDABLE
{
    100 "黑屏保护程序"
}

下载地址:

您可以到:

http://purpleendurer.ys168.com/

的/myworks/dem_only下载生成的SCR文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

紫郢剑侠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值