首页
社区
课程
招聘
[求助]汇编语言如何创建窗体?
发表于: 2008-6-11 14:39 5165

[求助]汇编语言如何创建窗体?

2008-6-11 14:39
5165
小弟刚学汇编``有一个问题很困惑``就是汇编中如何创建一个窗体?
     (请前辈们别说推荐小弟去看XX书)`````请说一个实例``谢谢``

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 92
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
win下
用汇编倒入创建窗体必要的Dll
然后调用Dll中的方法,传入参数就行。
2008-6-11 15:11
0
雪    币: 424
活跃值: (1829)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
看你发了几个帖问汇编的问题,看来得补习一下哦,汇编创建窗口不需要DLL
Windows编程创建窗口/对话框都是一样的,不管什么语言。建个对话框模板,然后调用DialogBoxParam就行了

.386
.model flat,stdcall  
option casemap:none  


include windows.inc
include kernel32.inc
include user32.inc

includelib kernel32.lib
includelib user32.lib

DlgProc			PROTO	:HWND,:UINT,:WPARAM,:LPARAM

.const
	IDD_DIALOG1			equ 101		;对话框模板ID

.data?
	hInstance			dd ?

.code
start:

	invoke GetModuleHandle,NULL
	mov		hInstance,eax
	invoke DialogBoxParam,hInstance,IDD_DIALOG1,NULL,addr DlgProc,NULL	;创建对话框
	invoke ExitProcess,0

;对话框处理过程
DlgProc proc hWin:HWND,uMsg:UINT,wParam:WPARAM,lParam:LPARAM

	mov		eax,uMsg
	.if eax==WM_INITDIALOG

	.elseif eax==WM_COMMAND

	.elseif eax==WM_CLOSE
		invoke EndDialog,hWin,0
	.else
		mov		eax,FALSE
		ret
	.endif
	mov		eax,TRUE
	ret

DlgProc endp

end start


对话框模板可以用RadASM来设计,可视化的


创建窗口的话就用CreateWindowEx,建议LZ还是先把书给看一遍吧
上传的附件:
2008-6-11 15:26
0
雪    币: 247
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
不看XX书 给你实例了你能看懂吗
2008-6-12 09:17
0
游客
登录 | 注册 方可回帖
返回
//