勤又氪猿 2023-04-25 14:08 采纳率: 0%
浏览 18

c++直接关闭GetOpenFileName打开的对话框后,对话框不再显示问题

问题描述

调用GetOpenFileName获取文件路径时,直接关闭GetOpenFileName打开的对话框后,再次执行GetOpenFileName后不显示选择文件对话框,使用GetLastError返回0,之后无论怎样都不显示选择文件对话框。除非重启程序;执行代码如下

                OPENFILENAME ofn;      // 公共对话框结构。     
        TCHAR szFile[MAX_PATH]; // 保存获取文件名称的缓冲区。               
         // 初始化选择文件对话框。     
        ZeroMemory(&ofn, sizeof(OPENFILENAME));    
        ofn.lStructSize = sizeof(OPENFILENAME);    
        ofn.hwndOwner = NULL;    
        ofn.lpstrFile = szFile;    
        ofn.lpstrFile[0] = '\0';   
        ofn.nMaxFile = sizeof(szFile);    
        ofn.lpstrFilter = "All(*.*)\0*.*\0Text(*.txt)\0*.TXT\0\0";    
        ofn.nFilterIndex = 1;    
        ofn.lpstrFileTitle = NULL;    
        ofn.nMaxFileTitle = 0;    
        ofn.lpstrInitialDir = NULL;    
        ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;    
        //ofn.lpTemplateName =  MAKEINTRESOURCE(ID_TEMP_DIALOG);    
        // 显示打开选择文件对话框。
        if ( GetOpenFileName(&ofn) )    
                {
                    cout<<szFile<<endl;
                }
  • 写回答

2条回答 默认 最新

  • threenewbee 2023-04-25 16:09
    关注

    调试一下,你的问题很奇怪
    ofn.lpstrFilter = "All(.)\0*.\0Text(.txt)\0*.TXT\0\0";
    这个地方,似乎不是\0分割的吧

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月25日

悬赏问题

  • ¥15 pip install后修改模块路径,import失败,需要在哪里修改环境变量?
  • ¥15 爬取1-112页所有帖子的标题但是12页后要登录后才能 我使用selenium模拟登录 账号密码输入后 会报错 不知道怎么弄了
  • ¥30 关于用python写支付宝扫码付异步通知收不到的问题
  • ¥50 vue组件中无法正确接收并处理axios请求
  • ¥15 隐藏系统界面pdf的打印、下载按钮
  • ¥15 MATLAB联合adams仿真卡死如何解决(代码模型无问题)
  • ¥15 基于pso参数优化的LightGBM分类模型
  • ¥15 安装Paddleocr时报错无法解决
  • ¥15 python中transformers可以正常下载,但是没有办法使用pipeline
  • ¥50 分布式追踪trace异常问题