壳的编写 【文件打开选择对话框】


;=================================

;选择加壳的文件

;函数:_OpenFile ;

;==================================

 

OF              OPENFILENAME          <0>
hFile dd ?
_OpenFile proc
pushad
mov OF.lStructSize,sizeof OPENFILENAME
mov OF.lpstrFile,offset szFileName
mov OF.nMaxFile,256
mov OF.nFilterIndex,1
mov OF.lpstrFilter,offset szFileAttribute
invoke GetOpenFileName,offset OF ;使用OPENFILENAME 结构
.if eax == 0
invoke ExitProcess,NULL
.endif
;打开文件
invoke CreateFile,offset szFileName,GENERIC_READ or GENERIC_WRITE,\
FILE_SHARE_READ OR FILE_SHARE_WRITE,\
NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,\
NULL
.if eax == INVALID_HANDLE_VALUE ;检测文件是否打开成功
invoke MessageBox,NULL,offset szOpenFileErr,offset szMsgTitle,MB_OK
invoke ExitProcess,NULL
.endif

mov hFile,eax

popad
_OpenFile endp

 

posted @ 2012-03-23 18:54  nXqaL  阅读(220)  评论(0编辑  收藏  举报