21,458
社区成员
发帖
与我相关
我的任务
分享
.elseif ax == IDC_BROWSE
invoke wsprintf,offset szBuffer,offset szFormat,offset szFileName;,@stOF.lpstrFile
invoke MessageBox,hWinMain,addr szBuffer,NULL,MB_OK
invoke RtlZeroMemory,addr @stOF,sizeof @stOF
mov @stOF.lStructSize,sizeof @stOF
push hWinMain
pop @stOF.hwndOwner
mov @stOF.lpstrFilter,offset szFileExt
mov @stOF.lpstrFile,offset szFileName
mov @stOF.nMaxFile,MAX_PATH
mov @stOF.Flags,OFN_FILEMUSTEXIST or OFN_PATHMUSTEXIST
invoke GetOpenFileName,addr @stOF
.if eax
invoke SetDlgItemText,hWnd,IDC_FILE,addr szFileName
.endif
invoke wsprintf,offset szBuffer,offset szFormat,addr @stOF.lpstrFile
invoke MessageBox,hWinMain,addr szBuffer,NULL,MB_OK
mov @stOF.lpstrFile,offset szFileName
invoke GetOpenFileName,addr @stOF
,@stOF结构被填充,那么@stOF.lpstrFile中存储的就是选中文件的信息,而不再是szFileName的偏移地址!可是下一句invoke SetDlgItemText,hWnd,IDC_FILE,addr szFileName
又是用szFileName作为参数将文件名显示,