其他语言

本类阅读TOP10

·基于Solaris 开发环境的整体构思
·使用AutoMake轻松生成Makefile
·BCB数据库图像保存技术
·GNU中的Makefile
·射频芯片nRF401天线设计的分析
·iframe 的自适应高度
·BCB之Socket通信
·软件企业如何实施CMM
·入门系列--OpenGL最简单的入门
·WIN95中日志钩子(JournalRecord Hook)的使用

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
【原创】用MASM32写的黑屏保护程序

作者:未知 来源:月光软件站 加入时间:2005-6-5 月光软件站

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;   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 "保护程序"
}




相关文章

相关软件