win32汇编定时器简单Demo
timer.asm;
.386.model flat,stdcalloption casemap:noneinclude windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.libID_TIMER1 equ 1
ICO_1 equ 1
DLG_MAIN equ 1.data?
hInstance dd ?
hWinMain dd ?
idTimer dd ?.const
szCaption db '定时器简单demo',0
szReturn db '收到定时器消息',0.code
; 定时器过程
_ProcTimer procret
_ProcTimer endp_ProcDlgMain proc uses ebx edi esi,hWnd,uMsg,wParam,lParammov eax,uMsg.if eax == WM_TIMERmov eax,wParam.if eax == ID_TIMER1invoke MessageBox,NULL,offset szReturn,offset szCaption,MB_OK.endif.elseif eax == WM_INITDIALOGpush hWndpop hWinMaininvoke SetTimer,hWnd,ID_TIMER1,3000,NULLinvoke SetTimer,NULL,NULL,1000,addr _ProcTimermov idTimer,eax.elseif eax == WM_CLOSEinvoke KillTimer,hWnd,ID_TIMER1invoke EndDialog,hWnd,NULL.elsemov eax,FALSEret.endifmov eax,TRUEret
_ProcDlgMain endpstart:invoke GetModuleHandle,NULLmov hInstance,eaxinvoke DialogBoxParam,hInstance,DLG_MAIN,NULL,offset _ProcDlgMain,NULLinvoke ExitProcess,NULLend start
timer.rc;
#include <resource.h>#define DLG_MAIN 1
#define ICO_1 1ICO_1 ICON "1.ico"DLG_MAIN DIALOG 800, 500, 100, 100
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "定时器Demo"
FONT 9, "宋体"
{ICON ICO_1, -1, 00, 10, 25, 25
}
_ProcTimer proc
ret
_ProcTimer endp
一个定时器过程,啥也不干,直接返回;
invoke MessageBox,NULL,offset szReturn,offset szCaption,MB_OK
主窗收到定时器消息弹出一个消息框;
invoke SetTimer,hWnd,ID_TIMER1,3000,NULL
invoke SetTimer,NULL,NULL,1000,addr _ProcTimer
设置定时器,设置了以后主窗会收到WM_TIMER消息;也可给定时器设置定时器过程,在里面做些动作;
构建,运行,如下;
资源文件中,
ICON ICO_1, -1, 00, 10, 25, 25
这一句,00 和 10、25、25是图标放在对话框的位置和大小;前面有个-1;使用 -1 ,程序自己装载图标,不用LoadIcon;如缺前面的-1,则出错如下;
win32汇编定时器简单Demo相关推荐
- win32汇编创建线程简单Demo
代码如下:thread.asm: .386.model flat,stdcalloption casemap:noneinclude windows.inc include user32.inc in ...
- Win32汇编--图形操作--GDI原理
Win32汇编--图形操作--GDI原理 Windows是基于图形界面的,所以在Win32编程中,图形操作是最常用的操作.GDI的意义在于将程序对图形界面的操作和硬件设备隔绝开来,在程序中可以将所有的 ...
- Win32汇编获取和设置文本框的内容
看一下Win32汇编如何获取和设置文本框的内容: 资源文件如下: #include <resource.h>#define ICO_MAIN 0x1000 //图标 #define DLG ...
- Win32汇编基本编程框架
Win32汇编编程框架如下: .386 .model flat,stdcall option casemap:none <一些include语句> .stack [堆栈段的大小] .dat ...
- Win32汇编扩展教程
Win32汇编扩展教程 第一课 Win32 扩展消息框示例 在罗哥云琳的Win32消息框示例基础上,做一个扩展例子. 首先弹出消息框,2个按钮,YESNO; 点击NO,程序结束:点击YES,弹出第二个 ...
- C指针原理(23)-win32汇编及.NET调试
2018-12-28 20:36:07 在WINDOWS系统能用到汇编的机会不多,基本都可以用C或C++代劳,更何况现在MICROSOFT的Visual Studio 系列工具非常强大,WINDOWS ...
- win32 汇编基础概念整理
一.关于寄存器 寄存器有EAX,EBX,ECX,EDX,EDI,ESI,ESP,EBP等,似乎IP也是寄存器,但只有在CALL/RET在中会默认使用它,其它情况很少使用到,暂时可以不用理会. EAX是 ...
- win32汇编基础概念
一.关于寄存器 寄存器有EAX,EBX,ECX,EDX,EDI,ESI,ESP,EBP等,似乎IP也是寄存器,但只有在CALL/RET在中会默认使用它,其它情况很少使用到,暂时可以不用理会. EAX是 ...
- Win32汇编学习笔记之基础篇
基础篇 第一章 背景知识 1.1 Win32的软硬件平台 1.1.1 80x86系列处理器简史 Win32可以在多种硬件平台上运行,但使用最广泛的硬件平台是基于Intel公司80x86系列处理器 ...
最新文章
- 在linux下查询日志
- python连接文本文件_Python连接文本文件
- 单源最短路径-Dijkstra(迪杰斯特拉算法)
- jmeter线程说明_4.centos下Jmeter+InfluxDB+Grafana环境的搭建1
- java lock 对象_Java并发编程锁系列之ReentrantLock对象总结
- java把一个list_java 把一个大list分成N个小list,然后用map存储的小方法
- MUI 支付宝支付接入
- CVE-2019-2725复现(从环境搭建到getshell)
- C#多线程编程系列(五)- 浅析C# Dictionary实现原理
- C++ STL容器vector篇(三) vector容器大小和数组大小, 插入和删除元素, 存储和读取元素
- 解析大型.NET ERP系统 高质量.NET代码设计模式
- Linux入门实践笔记(七)——云服务器中配置Java项目的JMX连接失败问题解决记录
- 在使用Git提交代码的时候犯了个低级错误
- Elasticsearch 5.x 源码分析(3)from size, scroll 和 search after
- tolist方法python_python中如何使用tolist()方法将数组或者矩阵转换为列表?
- NVIDIA Jetson TX2简介
- RFID区域实时定位系统
- [转]《间架结构92法》
- 快速掌握Photoshop简单用法
- 用 Python 给程序加个进度条,让你的程序看起来更炫酷
热门文章
- Tensor2Tensor 踩坑记录
- WingIDE 5的安装与破解方法
- bugku ctf 杂项 啊哒 writeup || foremost的安装
- 用工具批量下载哔哩哔哩视频并且将内容转换成pdf
- PyQt5 技术篇-scrollArea不显示滚动条解决方法,Qt Designer不显示滚动条,滚动条的显示和隐藏
- H5页面获取原生APP的登录状态
- 【生成函数基础题】hdu1085 hdu1028
- 第七周实践项目4 队列数组
- [简单题]自定义取余(三种解法)C++实现
- win10+tensorflow:ImportError: No module named '_pywrap_tensorflow_internal',这波操作真让人窒息