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

原创 2005年05月27日 22:21:00

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;   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文件。

MASM32 v11 汇编、连接及运行程序的方法

MASM32自带一个Quick Editor的编辑器,位于masm32目录下,名为qeditor.exe。 作为一个IDE,Quick Editor让我们很方便地在其中进行编辑源码,连接并运行程序。...

用MASM32按Time Protocol(RFC868)协议编写的网络时间同步/校正程序——adjTime.exe

  一、简介   程序运行后会按Time Protocol(RFC868)通过网络获取时间,如果在5秒钟内不能成功获取,会在3秒钟后继续重试,直至成功获取时间。  成功获取时间后,程序将尝试调整电脑系...

用MASM32写的 系统托盘图标管理员 TrayIconMan 0.0.0003

功能  TrayIconMan可以列举系统托盘区中的图标,提示文本,及它们对应的程序,并控制它们的显示和隐藏状态。  有些网友反映,在windows xp 使用TrayIconMan来隐藏系统托盘图标...

应用程序防黑屏启动图片添加方法

Android应用框架决定了,在我们常规的Android应用启动时,会有一段时间的黑屏。这主要是机制本身决定的。另外,如果你在onCreate函数中做耗时操作,会增加黑屏的时间。        从A...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【原创】用MASM32写的黑屏保护程序
举报原因:
原因补充:

(最多只允许输入30个字)