📄 callfun.asm
字号:
include head.inc
MyFunction Proto
includelib .\mydll.lib
ModalDlgProc PROTO :DWORD,:DWORD,:DWORD,:DWORD
.const
IDD_DIALOG equ 101
IDC_CREATE equ 1000
IDC_CALL equ 1001
.data
.data?
ThreadID dd ?
.code
start:
invoke DialogBoxParam,NULL,IDD_DIALOG,NULL,addr ModalDlgProc,NULL
invoke ExitProcess,eax
ModalDlgProc proc uses edi hWnd:dword,uMsg:dword,wParam:dword,lParam:dword
.if uMsg==WM_CLOSE
invoke EndDialog,hWnd,FALSE
.elseif uMsg==WM_COMMAND
.if lParam
mov eax,wParam
.if ax==IDC_CREATE
lea eax,ThreadProc
invoke CreateThread,NULL,NULL,eax,NULL,0,addr ThreadID
.elseif ax==IDC_CALL
invoke MyFunction
.endif
.endif
.else
mov eax,FALSE
ret
.endif
mov eax,TRUE
ret
ModalDlgProc endp
ThreadProc proc uses edi param:dword
mov ecx,0fffffffh
loop $
ret
ThreadProc endp
end start
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -