做了的两个字符串相连程序
_ProcDlgMain proc uses ebx edi esi,hWnd,uMsg,wParam,lParam
; 定义三个局部数据,类型均为字节型
LOCAL @szBuffer1[256]:byte
LOCAL @szBuffer2[256]:byte
LOCAL @szOutputBuf[512]:byte
mov eax,uMsg
;********************************************************************
.if eax == WM_CLOSE
; 这里处理程序退出代码
invoke MessageBox, hWnd, addr szExitApp, addr szTitle, MB_ICONQUESTION or MB_YESNO
.if al == IDYES
invoke EndDialog, hWnd, NULL
.endif
;********************************************************************
.elseif eax == WM_INITDIALOG
invoke RtlZeroMemory,addr @szBuffer1,sizeof @szBuffer1
invoke RtlZeroMemory,addr @szBuffer2,sizeof @szBuffer2
invoke RtlZeroMemory,addr @szOutputBuf,sizeof @szOutputBuf
;********************************************************************
.elseif eax == WM_COMMAND
mov eax,wParam
.if ax == IDC_EDT_FIRST
; 这里编写处理第一个文本框的代码
.elseif ax == IDC_EDT_SECOND
; 这里编写处理第二个文本框的代码
.elseif ax == IDC_BTN_OUTPUT
; 先获取两个文本框的文本,分别保存在@szBuffer1和@szBuffer2中
; 然后通过格式化函数wsprintf将两个文本合并,最后输出到第三个文本框中。
invoke GetDlgItemText, hWnd, IDC_EDT_FIRST, addr @szBuffer1, sizeof @szBuffer1
invoke GetDlgItemText, hWnd, IDC_EDT_SECOND, addr @szBuffer2, sizeof @szBuffer2
invoke wsprintf, addr @szOutputBuf, addr szFormat, addr @szBuffer1, addr @szBuffer2
invoke SetDlgItemText, hWnd, IDC_EDT_OUTPUT, addr @szOutputBuf
.elseif ax == IDC_BTN_EXITAPP
invoke SendMessage, hWnd, WM_CLOSE, 0, 0
.endif
;********************************************************************
.else
mov eax,FALSE
ret ;返回eax
.endif
;********************************************************************
mov eax,TRUE
ret ;返回0
_ProcDlgMain endp
; 定义三个局部数据,类型均为字节型
LOCAL @szBuffer1[256]:byte
LOCAL @szBuffer2[256]:byte
LOCAL @szOutputBuf[512]:byte
mov eax,uMsg
;********************************************************************
.if eax == WM_CLOSE
; 这里处理程序退出代码
invoke MessageBox, hWnd, addr szExitApp, addr szTitle, MB_ICONQUESTION or MB_YESNO
.if al == IDYES
invoke EndDialog, hWnd, NULL
.endif
;********************************************************************
.elseif eax == WM_INITDIALOG
invoke RtlZeroMemory,addr @szBuffer1,sizeof @szBuffer1
invoke RtlZeroMemory,addr @szBuffer2,sizeof @szBuffer2
invoke RtlZeroMemory,addr @szOutputBuf,sizeof @szOutputBuf
;********************************************************************
.elseif eax == WM_COMMAND
mov eax,wParam
.if ax == IDC_EDT_FIRST
; 这里编写处理第一个文本框的代码
.elseif ax == IDC_EDT_SECOND
; 这里编写处理第二个文本框的代码
.elseif ax == IDC_BTN_OUTPUT
; 先获取两个文本框的文本,分别保存在@szBuffer1和@szBuffer2中
; 然后通过格式化函数wsprintf将两个文本合并,最后输出到第三个文本框中。
invoke GetDlgItemText, hWnd, IDC_EDT_FIRST, addr @szBuffer1, sizeof @szBuffer1
invoke GetDlgItemText, hWnd, IDC_EDT_SECOND, addr @szBuffer2, sizeof @szBuffer2
invoke wsprintf, addr @szOutputBuf, addr szFormat, addr @szBuffer1, addr @szBuffer2
invoke SetDlgItemText, hWnd, IDC_EDT_OUTPUT, addr @szOutputBuf
.elseif ax == IDC_BTN_EXITAPP
invoke SendMessage, hWnd, WM_CLOSE, 0, 0
.endif
;********************************************************************
.else
mov eax,FALSE
ret ;返回eax
.endif
;********************************************************************
mov eax,TRUE
ret ;返回0
_ProcDlgMain endp