zoukankan      html  css  js  c++  java
  • 汇编语言学习笔记使用对话框

    rsrc.rc文件

    代码
    #include <resource.h>
    #define IDC_EDIT 3000
    #define IDC_BUTTON 3001
    #define IDC_EXIT 3002

    MyDialog DIALOG
    10, 10, 205, 60
    STYLE
    0x0004 | DS_CENTER | WS_CAPTION | WS_MINIMIZEBOX |
    WS_SYSMENU
    | WS_VISIBLE | WS_OVERLAPPED | DS_MODALFRAME | DS_3DLOOK
    CAPTION
    "我的对话框"
    {
    EDITTEXT IDC_EDIT,
    15,17,111,13, ES_AUTOHSCROLL | ES_LEFT
    DEFPUSHBUTTON
    "显示编辑框中的内容", IDC_BUTTON, 141,10,52,13
    PUSHBUTTON
    "退出程序", IDC_EXIT, 141,26,52,13
    }

    asm文件

    代码
    .386
    .model flat,stdcall
    option casemap:none

    DlgProc proto :DWORD,:DWORD,:DWORD,:DWORD

    include D:\masm32\include\windows.inc
    include D:\masm32\include\user32.inc
    include D:\masm32\include\kernel32.inc
    includelib D:\masm32\lib\user32.lib
    includelib D:\masm32\lib\kernel32.lib

    .data
    DlgName db
    'MyDialog',0
    AppName db
    'My own dialog',0


    .data
    ?
    hInstance HINSTANCE
    ?
    buffer db
    512 dup(?)

    .
    const
    IDC_EDIT equ
    3000
    IDC_BUTTON equ
    3001
    IDC_EXIT equ
    3002


    .code
    start:
    invoke GetModuleHandle, NULL
    mov hInstance,eax
    invoke DialogBoxParam, hInstance, ADDR DlgName,NULL, addr DlgProc, NULL
    invoke ExitProcess,eax

    DlgProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM
    .IF uMsg
    ==WM_INITDIALOG
    invoke GetDlgItem, hWnd,IDC_EDIT
    invoke SetFocus,eax
    .ELSEIF uMsg
    ==WM_CLOSE
    invoke EndDialog, hWnd,NULL
    .ELSEIF uMsg
    ==WM_COMMAND
    mov eax,wParam
    .IF eax
    ==IDC_BUTTON
    invoke GetDlgItemText,hWnd,IDC_EDIT,ADDR buffer,
    512
    invoke MessageBox,NULL,ADDR buffer,ADDR AppName,MB_OK
    .ELSEIF ax
    ==IDC_EXIT
    invoke EndDialog, hWnd,NULL
    .ENDIF
    .ELSE
    mov eax,FALSE
    ret
    .ENDIF
    mov eax,TRUE
    ret
    DlgProc endp
    end start
  • 相关阅读:
    Qt 智能指针学习(7种指针)
    Springmvc+Spring+Hibernate搭建方法
    DDD分层架构之领域实体(基础篇)
    LeetCode
    RabbitMQ
    Cocos2d-x环境搭建
    使用快捷键提升C#开发效率
    C# 6.0
    avalonjs 1.3.7发布
    VS2015安装
  • 原文地址:https://www.cnblogs.com/liulun/p/1660192.html
Copyright © 2011-2022 走看看