首页
社区
课程
招聘
[分享]win32汇编实现不卡主线程的延时
发表于: 2013-6-4 13:26 4049

[分享]win32汇编实现不卡主线程的延时

2013-6-4 13:26
4049
不卡主界面,不占cpu. 下载源码: test_delay.zip

Delay proc @para  ;传毫秒参数
	LOCAL @hTimer, @int64:LARGE_INTEGER
	
	mov eax,-10
	imul eax,1000
	imul eax,@para  
	lea ebx,@int64
	mov dword ptr [ebx],eax
	mov dword ptr [ebx+4],-1	
	
	invoke CreateWaitableTimer,0,0,0
	mov @hTimer,eax
	
  	invoke SetWaitableTimer,@hTimer,addr @int64,0,NULL,NULL,0
  @@:	invoke MsgWaitForMultipleObjects,1,addr @hTimer,0,-1,QS_ALLINPUT
  	.if eax!=WAIT_OBJECT_0
  		invoke DoEvent
  		jmp @b
  	.endif
  	invoke CloseHandle,@hTimer
	ret

Delay endp

DoEvent proc
	LOCAL @msg:MSG
@@:	invoke PeekMessage,addr @msg,0,0,0,PM_REMOVE
	.if eax!=0
		invoke DispatchMessage,addr @msg
		invoke TranslateMessage,addr @msg
		jmp @b
	.endif

	
	ret

DoEvent endp


[课程]Linux pwn 探索篇!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 107
活跃值: (326)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
现在WIN32ASM不是这么个玩法吧?亲....
2013-6-4 15:27
0
雪    币: 57
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
什么玩法都可以.
2013-6-4 16:02
0
游客
登录 | 注册 方可回帖
返回
//