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相关推荐

  1. win32汇编创建线程简单Demo

    代码如下:thread.asm: .386.model flat,stdcalloption casemap:noneinclude windows.inc include user32.inc in ...

  2. Win32汇编--图形操作--GDI原理

    Win32汇编--图形操作--GDI原理 Windows是基于图形界面的,所以在Win32编程中,图形操作是最常用的操作.GDI的意义在于将程序对图形界面的操作和硬件设备隔绝开来,在程序中可以将所有的 ...

  3. Win32汇编获取和设置文本框的内容

    看一下Win32汇编如何获取和设置文本框的内容: 资源文件如下: #include <resource.h>#define ICO_MAIN 0x1000 //图标 #define DLG ...

  4. Win32汇编基本编程框架

    Win32汇编编程框架如下: .386 .model flat,stdcall option casemap:none <一些include语句> .stack [堆栈段的大小] .dat ...

  5. Win32汇编扩展教程

    Win32汇编扩展教程 第一课 Win32 扩展消息框示例 在罗哥云琳的Win32消息框示例基础上,做一个扩展例子. 首先弹出消息框,2个按钮,YESNO; 点击NO,程序结束:点击YES,弹出第二个 ...

  6. C指针原理(23)-win32汇编及.NET调试

    2018-12-28 20:36:07 在WINDOWS系统能用到汇编的机会不多,基本都可以用C或C++代劳,更何况现在MICROSOFT的Visual Studio 系列工具非常强大,WINDOWS ...

  7. win32 汇编基础概念整理

    一.关于寄存器 寄存器有EAX,EBX,ECX,EDX,EDI,ESI,ESP,EBP等,似乎IP也是寄存器,但只有在CALL/RET在中会默认使用它,其它情况很少使用到,暂时可以不用理会. EAX是 ...

  8. win32汇编基础概念

    一.关于寄存器 寄存器有EAX,EBX,ECX,EDX,EDI,ESI,ESP,EBP等,似乎IP也是寄存器,但只有在CALL/RET在中会默认使用它,其它情况很少使用到,暂时可以不用理会. EAX是 ...

  9. Win32汇编学习笔记之基础篇

    基础篇 第一章 背景知识 1.1 Win32的软硬件平台 1.1.1    80x86系列处理器简史 Win32可以在多种硬件平台上运行,但使用最广泛的硬件平台是基于Intel公司80x86系列处理器 ...

最新文章

  1. 在linux下查询日志
  2. python连接文本文件_Python连接文本文件
  3. 单源最短路径-Dijkstra(迪杰斯特拉算法)
  4. jmeter线程说明_4.centos下Jmeter+InfluxDB+Grafana环境的搭建1
  5. java lock 对象_Java并发编程锁系列之ReentrantLock对象总结
  6. java把一个list_java 把一个大list分成N个小list,然后用map存储的小方法
  7. MUI 支付宝支付接入
  8. CVE-2019-2725复现(从环境搭建到getshell)
  9. C#多线程编程系列(五)- 浅析C# Dictionary实现原理
  10. C++ STL容器vector篇(三) vector容器大小和数组大小, 插入和删除元素, 存储和读取元素
  11. 解析大型.NET ERP系统 高质量.NET代码设计模式
  12. Linux入门实践笔记(七)——云服务器中配置Java项目的JMX连接失败问题解决记录
  13. 在使用Git提交代码的时候犯了个低级错误
  14. Elasticsearch 5.x 源码分析(3)from size, scroll 和 search after
  15. tolist方法python_python中如何使用tolist()方法将数组或者矩阵转换为列表?
  16. NVIDIA Jetson TX2简介
  17. RFID区域实时定位系统
  18. [转]《间架结构92法》
  19. 快速掌握Photoshop简单用法
  20. 用 Python 给程序加个进度条,让你的程序看起来更炫酷

热门文章

  1. Tensor2Tensor 踩坑记录
  2. WingIDE 5的安装与破解方法
  3. bugku ctf 杂项 啊哒 writeup || foremost的安装
  4. 用工具批量下载哔哩哔哩视频并且将内容转换成pdf
  5. PyQt5 技术篇-scrollArea不显示滚动条解决方法,Qt Designer不显示滚动条,滚动条的显示和隐藏
  6. H5页面获取原生APP的登录状态
  7. 【生成函数基础题】hdu1085 hdu1028
  8. 第七周实践项目4 队列数组
  9. [简单题]自定义取余(三种解法)C++实现
  10. win10+tensorflow:ImportError: No module named '_pywrap_tensorflow_internal',这波操作真让人窒息