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

简介: 【原创】用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 flat, stdcall

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 "黑屏保护程序"

}


相关文章
|
7月前
|
小程序
续:将基于Nasm汇编的打字小游戏,移植到DOSBox
前情提要 上一篇:【编程实践】黑框框里的打字小游戏,但是汇编语言-CSDN博客 在上一篇文章中我对这个小程序进行了介绍,但由于运行环境的安装比较复杂,估计没有谁会将我的代码跑起来,可那样实在是太遗憾了。学习过汇编语言的你大概率是使用过DOSBox的,为此我献祭了2小时的宝贵生命,成功地将代码在DOS上跑起来了。 如果对具体移植过程不感兴趣,可以直接跳到运行体验部分。
106 0
本地内核调试神器 —— livekd 使用总结
本地内核调试神器 —— livekd 使用总结
|
3月前
|
Windows
【原创】DOS下TSR程序的汇编演示代码2--黑屏保护程序
【原创】DOS下TSR程序的汇编演示代码2--黑屏保护程序
|
7月前
|
开发工具 Python Windows
基于Python开发的飞机大战小游戏彩色版(源码+可执行程序exe文件+程序配置说明书+程序使用说明书)
基于Python开发的飞机大战小游戏彩色版(源码+可执行程序exe文件+程序配置说明书+程序使用说明书)
|
7月前
|
定位技术 开发工具 Python
基于Python开发的玛丽大冒险小游戏(源码+可执行程序exe文件+程序配置说明书+程序使用说明书)
基于Python开发的玛丽大冒险小游戏(源码+可执行程序exe文件+程序配置说明书+程序使用说明书)
103 0
|
存储 小程序 Linux
【Linux取经路】进度条小程序(二)
【Linux取经路】进度条小程序(二)
96 1
|
小程序 Linux Shell
【Linux取经路】进度条小程序(一)
【Linux取经路】进度条小程序(一)
121 1
Win系统 - 一键秒关所有程序,霸气侧漏!
Win系统 - 一键秒关所有程序,霸气侧漏!
307 0
Win系统 - 一键秒关所有程序,霸气侧漏!
|
安全 数据安全/隐私保护 Windows
|
算法 Linux C++
G++ 4.4.7 无法编译模板程序,Vs可以,和解?智者尾部留言,本人第一次使用vs pro,通常并且习惯在linux下写些小东西,虽然程序简单;
vs 模板编译运行Ok \ linux g++ 4.4.7编译模板测试程序,报无法定义 template 类型的数据    Example is sample!But include Knowledge is more eg: 1,Reference type 2,多不同类型公用一种算法使用-...
1185 0