| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 823 人关注过本帖
标题:关于文件另存为 程序的 奇怪状况
取消只看楼主 加入收藏
wsz9903011
Rank: 1
等 级:新手上路
帖 子:35
专家分:7
注 册:2009-4-24
结帖率:90.91%
收藏
已结贴  问题点数:20 回复次数:1 
关于文件另存为 程序的 奇怪状况
_GetSaveFile    proc    lpBuffer,dwBufferSize
        local    @stOpenFileName:OPENFILENAME
        invoke    RtlZeroMemory,addr @stOpenFileName,sizeof OPENFILENAME
        invoke    RtlZeroMemory,lpBuffer,dwBufferSize
        mov    @stOpenFileName.lStructSize,SIZEOF @stOpenFileName
        mov    @stOpenFileName.Flags,OFN_OVERWRITEPROMPT or OFN_CREATEPROMPT
        push    hWinMain
        pop    @stOpenFileName.hwndOwner
        mov    @stOpenFileName.lpstrFilter,offset szAllFile
        push    lpBuffer
        pop    @stOpenFileName.lpstrFile
       ;mov     @stOpenFileName.lpstrFile,offset lpBuffer
        mov    @stOpenFileName.nMaxFile,MAX_PATH
        invoke    GetSaveFileName,addr @stOpenFileName;创建一个Save公共对话框,以便用户指定驱动器、目录和文件名
        ret
_GetSaveFile    endp
参数lpBuffer代表文件缓冲 dwBufferSize 为文件缓冲名长度  问题是这里用
push    lpBuffer
pop    @stOpenFileName.lpstrFile
(顺便问下 这2句是怎么实现的 为什么用PUSH 与POP???)

但我换成mov     @stOpenFileName.lpstrFile,offset lpBuffer 就无法编译通过
理应是正确的嘛
假设 “另存为”的框框 的那个默认文件名 是123  怎么搞呢?? 直接
@stOpenFileName.lpstrFile,“123”  不行哦


[ 本帖最后由 wsz9903011 于 2009-8-31 22:53 编辑 ]
搜索更多相关主题的帖子: 文件 状况 
2009-08-31 22:30
wsz9903011
Rank: 1
等 级:新手上路
帖 子:35
专家分:7
注 册:2009-4-24
收藏
得分:0 
谢谢老大详细讲解 小生茅塞顿开
2009-09-02 00:56
快速回复:关于文件另存为 程序的 奇怪状况
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026498 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved