.386
.Model Flat,stdcall
Option CaseMap:None
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
include windows.inc
include user32.inc
include kernel32.inc
include comdlg32.inc
includelib user32.lib
includelib kernel32.lib
includelib comdlg32.lib
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.data
ofn OPENFILENAME <0> ;打开对话框要用到的函数结构
szFileName db 256 dup(0)
szFilterString db '选择要打开的文件(*.*)',0,'*.*',0 ;只查找所有文件
szMyTitle db '选择你要打开的文件',0
szMessageTitle db '文件',0
szNoFoud db '你没有选择文件',0
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.
.code
GetFileNameFromDialog proc
mov ofn.lStructSize,sizeof ofn
mov ofn.lpstrFilter,offset szFilterString
mov ofn.lpstrFile,offset szFileName
mov ofn.nMaxFile,265
mov ofn.lpstrTitle,offset szMyTitle
invoke GetOpenFileName,addr ofn
ret
GetFileNameFromDialog endp
start:
call GetFileNameFromDialog
.if eax!=NULL ;如果eax值不为空
invoke MessageBox,NULL,addr szFileName,addr szMessageTitle,NULL
invoke ExitProcess,NULL
.endif
invoke MessageBox,NULL,addr szNoFoud,addr szMessageTitle,NULL
invoke ExitProcess,NULL
end start
类似于一个选择文件的对话框,
选择了,就显示出来,
没选择,就提示:"没有选择文件"
问题在于,如不选择文件,而是随便输入字符,
它没有检测是否存在这个,也显示出来
请问怎么样做才能先判断是否存在这个文件,然后选择,然后显示?
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)