美文网首页
窗口程序

窗口程序

作者: le0nard | 来源:发表于2017-09-14 17:05 被阅读0次

.386

.model flat,stdcall

option casemap:none

include windows.inc

include masm32.inc

include kernel32.inc

include user32.inc

includelib masm32.lib

includelib kernel32.lib

includelib user32.lib

.data

IDD_DLG_MAIN equ 1000

IDC_EDT_FIRST equ 1001

IDC_EDT_SECOND equ 1002

IDC_EDT_OUTPUT equ 1003

IDC_BTN_OUTPUT equ 1004

IDC_BTN_EXITAPP equ 1005

szExitApp db "你真的要退出吗",0

szTitle  db "对话框程序",0

szFmt    db "%s%s",0

hInstance dd ?

.code

DlgProc proc uses ebx esi edi hwnd,uMsg,wParam,lParam

LOCAL @szBuffer1[256]:byte

LOCAL @szBuffer2[256]:byte

LOCAL @szOutputBuf[512]:byte

mov eax,uMsg

.if eax == WM_INITDIALOG

;comment *

invoke RtlZeroMemory,addr @szBuffer1,sizeof @szBuffer1

invoke RtlZeroMemory,addr @szBuffer2,sizeof @szBuffer2

invoke RtlZeroMemory,addr @szOutputBuf,sizeof @szOutputBuf

;*

.elseif eax == WM_COMMAND

;comment *

mov eax,wParam

.if ax ==IDC_EDT_FIRST

.elseif ax == IDC_EDT_SECOND

.elseif ax == IDC_BTN_OUTPUT

invoke GetDlgItemText,hwnd,IDC_EDT_FIRST,addr @szBuffer1,sizeof @szBuffer1

invoke GetDlgItemText,hwnd,IDC_EDT_SECOND,addr @szBuffer2,sizeof @szBuffer2

invoke wsprintf,addr @szOutputBuf,addr szFmt,addr @szBuffer1,addr @szBuffer2

invoke SetDlgItemText,hwnd,IDC_EDT_OUTPUT,addr @szOutputBuf

.elseif ax == IDC_BTN_EXITAPP

invoke SendMessage,hwnd,WM_CLOSE,0,0

.endif

;*

.elseif eax == WM_CLOSE

;comment *

invoke MessageBox,hwnd,addr szExitApp,addr szTitle,MB_YESNO

.if al == IDYES

invoke EndDialog,hwnd,NULL

.endif

mov eax,FALSE

ret

;*

.else

mov eax,FALSE

ret

.endif

mov eax,TRUE

ret

DlgProc endp

start:

invoke GetModuleHandle,NULL

mov hInstance,eax

invoke DialogBoxParam,hInstance,IDD_DLG_MAIN,NULL,offset DlgProc,NULL

invoke ExitProcess,0

end start

--------------

wtf,TAB都给吃了啊

相关文章

  • 窗口程序

    .386 .model flat,stdcall option casemap:none include wind...

  • C# WPF MVVM Command Binding

    单窗口程序,程序执行顺序:

  • 第4章 第一个窗口程序

    1 了解窗口 2 窗口程序原理 事件驱动模式 窗口程序的运行过程 DispatchMessage会在内部调用消息处...

  • console 窗体隐藏

    console 窗口隐藏,不用编译为 windows 窗口程序。

  • Win32 SDK基础

    一、windows程序分类 1、控制台程序 windows的Dos程序,没有自己的窗口,需要借助Dos窗口进行用户...

  • 如何自动生成Igor脚本?

    窗口生成脚本可以创建Graph或程序窗口。脚本一般由Igor自动创建。在对Graph或者程序窗口做出修改后,需要更...

  • 年薪百万的程序员C++/C语言实现了MFC窗口的自动缩放!

    在窗口程序中,当我们改变窗口大小的时候,背景图片通常会岁窗口大小变化而缩放 然而,在我们写的窗口程序中,设置背景图...

  • 新建一个窗口程序

    新建一个窗口程序 消息机制 创建窗口的几个步骤 创建窗口类 注册窗口类 创建窗口 显示窗口 构建消息循环 创建过程...

  • EXUIの菜单使用

    .版本 2.支持库 exui .程序集 窗口程序集窗口用户设置.程序集变量 普通菜单, 菜单EX.版本 2.支持库...

  • Java笔试真题及参考答案

    题目 使用Swing实现一个窗口程序,窗口包括一个菜单栏,请按以下要求实现相应功能。 (1)窗口标题为“GUI程序...

网友评论

      本文标题:窗口程序

      本文链接:https://www.haomeiwen.com/subject/lridsxtx.html