游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3029|回复: 6

调用GetOpenFileName后有奇怪现象

[复制链接]

58

主题

281

帖子

281

积分

中级会员

Rank: 3Rank: 3

积分
281
QQ
发表于 2004-3-16 23:25:00 | 显示全部楼层 |阅读模式

char strFileName[MAX_PATH] = {NULL};
char strPath[] = {"Scene\\"};

OPENFILENAME ofn = { sizeof(OPENFILENAME), hWnd, NULL,
                        "MAP文件\0*.map\0", NULL,
                        0, 1, strFileName, MAX_PATH, NULL, 0, strPath, "",
                        OFN_FILEMUSTEXIST|OFN_HIDEREADONLY, 0, 0,
                        ".map", 0, NULL, NULL };

                        if( GetOpenFileName( &ofn ) )
                        {
                                fstream                File;
                                File.open( "xxx.xxx", ios::nocreate|ios::in|ios::binary );
                                if( !File )
                                        MessageBox( hWnd, "文件明明存在,却打不开?", "", MB_OK );

                                else File.close();
                        }

// 而如果不调用GetOpenFileName( &ofn ),文件却能正常打开,请问这到底是为什么啊? [em6]

9

主题

311

帖子

333

积分

中级会员

Rank: 3Rank: 3

积分
333
发表于 2004-3-16 23:40:00 | 显示全部楼层

Re:调用GetOpenFileName后有奇怪现象

??

58

主题

281

帖子

281

积分

中级会员

Rank: 3Rank: 3

积分
281
QQ
发表于 2004-3-17 00:50:00 | 显示全部楼层

Re:调用GetOpenFileName后有奇怪现象

郁闷

58

主题

281

帖子

281

积分

中级会员

Rank: 3Rank: 3

积分
281
QQ
发表于 2004-3-17 15:58:00 | 显示全部楼层

用GetCurrentDirectory还是不行


总结,原因是当前目录的路径被改变了,变成用GetOpenFileName对话框打开文件时候的目录,用GetCurrentDirectory可得知。
不知用什么方法才可恢复?

27

主题

93

帖子

106

积分

注册会员

Rank: 2

积分
106
发表于 2004-3-17 16:13:00 | 显示全部楼层

Re:调用GetOpenFileName后有奇怪现象

你查GetCurrentDirectory的MSDN应该可以找到一个API可以回到当前目录吧

58

主题

281

帖子

281

积分

中级会员

Rank: 3Rank: 3

积分
281
QQ
发表于 2004-3-17 16:14:00 | 显示全部楼层

解决了

找到一篇详细介绍GetOpenFileName函数的好文章。
http://www.ade-design.com/docfile/thepopual/chap8.htm
补上OFN_NOCHANGEDIR标志,就OK了。

0

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2005-9-26 16:47:00 | 显示全部楼层

Re: 调用GetOpenFileName后有奇怪现象

怎么打不开呀
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-27 23:42

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表