C++ 控制台弹出文件管理对话框案例

 更新时间:2021年01月13日 10:53:27   作者:汪蛋  
这篇文章主要介绍了C++ 控制台弹出文件管理对话框案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

在控制台程序中打开文件管理对话框,效果图如下所示:

在需要弹出对话框的地方插入以下代码:

//打开文件管理窗口
 TCHAR szBuffer[MAX_PATH] = { 0 };
 OPENFILENAME file = { 0 };
 file.hwndOwner = NULL;
 file.lStructSize = sizeof(file);
 file.lpstrFilter = _T("Excel文件(*.xlsx,*.xls)\0*.xlsx;*.xls\0Txt文件(*.txt)\0*.txt\0");//要选择的文件后缀
 file.lpstrInitialDir = _T("C:\\");//默认的文件路径 
 file.lpstrFile = szBuffer;//存放文件的缓冲区
 file.nMaxFile = sizeof(szBuffer) / sizeof(*szBuffer);
 file.nFilterIndex = 0;
 file.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST | OFN_EXPLORER;//标志如果是多选要加上OFN_ALLOWMULTISELECT
 BOOL bSel = GetOpenFileName(&file);

补充:c如何弹出保存路径/保存文件对话框

我就废话不多说了,大家还是直接看代码吧~

//保存路径
TCHAR szBuffer[MAX_PATH] = {0}; 
 BROWSEINFO bi; 
 ZeroMemory(&bi,sizeof(BROWSEINFO)); 
 bi.hwndOwner = NULL; 
 bi.pszDisplayName = szBuffer; 
 bi.lpszTitle = _T("选择保存文件路径:"); 
 bi.ulFlags = BIF_RETURNFSANCESTORS;
 LPITEMIDLIST idl = SHBrowseForFolder(&bi); 
 if (NULL == idl) 
 { 
  return 0; 
 } 
 SHGetPathFromIDList(idl,szBuffer);
 
//保存对话框;
 TCHAR szFilters[]= _T("*.csv");
 CFileDialog dlg(FALSE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilters);
 if(IDOK==dlg.DoModal())
 {
 //现在的当前路径变成了所打开文件时的路径,故只需要拿到文件名即可对文件进行操作;
 TCHAR curPath[MAX_PATH];
 GetCurrentDirectory(MAX_PATH,curPath); //可以拿到当前文件夹的路径,此时curPath就是当前文件所处的路径,变成了当前路径;
 }
//保存文件

补充:C++控制台程序弹出消息框

#include "stdafx.h"
#include<windows.h>
//不显示控制台
#pragma comment( linker, "/subsystem:windows /entry:mainCRTStartup" )
int main()
{
 int x=::MessageBox(NULL, TEXT("将在20秒后关机,确定执行吗?"), TEXT("操作提示"), 1);
 if (x==1)
 {
 //确认关机
 system("shutdown /s /t 20");
 }
 printf("%d\n", x);
 return 0;
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • C++顺序表实现图书管理系统

    C++顺序表实现图书管理系统

    这篇文章主要为大家详细介绍了C++顺序表实现图书管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • C语言运算符的优先级和结合性实例详解

    C语言运算符的优先级和结合性实例详解

    本文主要介绍C语言运算符的知识,这里对运算符的优先级和结合性做出了详解,并附实例代码,希望能帮助有需要的小伙伴
    2016-07-07
  • EasyC++函数模板介绍

    EasyC++函数模板介绍

    这篇文章主要介绍了C++函数模板介绍,所谓函数的模板,本质上也就是使用泛型来定义函数,所谓的泛型其实也就是不定的类型,比如说我们使用vector的时候,可以定义各种类型的vector,下面我们一起进入文章详细了解一下C++函数模板,需要的朋友可以参考一下
    2021-12-12
  • C语言字符串的模式匹配之BF与KMP

    C语言字符串的模式匹配之BF与KMP

    这篇文章记录一下串里面的模式匹配,模式匹配,顾名思义就是给定一个被匹配的字符串,然后用一个字符串模式(模型)去匹配上面说的字符串,看后者是否在前者里面出现。常用的有2种算法可以实现,下面我们来具体探讨下
    2021-09-09
  • C++实现LeetCode(84.直方图中最大的矩形)

    C++实现LeetCode(84.直方图中最大的矩形)

    这篇文章主要介绍了C++实现LeetCode(84.直方图中最大的矩形),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • 数据结构与算法:单向链表实现与封装

    数据结构与算法:单向链表实现与封装

    今天小编就为大家分享一篇关于数据结构与算法:单向链表实现与封装,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • C语言实现经典排序算法的示例代码

    C语言实现经典排序算法的示例代码

    这篇文章主要为大家详细介绍了如何利用C语言实现经典排序算法中的冒泡排序、选择排序、插入排序、希尔排序,文中的示例代码讲解详细,需要的可以参考一下
    2022-08-08
  • 在C++中高效使用和处理Json格式数据的示例代码

    在C++中高效使用和处理Json格式数据的示例代码

    最近的项目在用c处理后台的数据时,因为好多外部接口都在使用Json格式作为返回的数据结构和数据描述,如何在c中高效使用和处理Json格式的数据就成为了必须要解决的问题,需要的朋友可以参考下
    2023-11-11
  • C语言中对文件最基本的读取和写入函数

    C语言中对文件最基本的读取和写入函数

    这篇文章主要介绍了C语言中对文件最基本的读取和写入函数,是C语言入门学习中的基础知识,需要的朋友可以参考下
    2015-08-08
  • 使用C语言实现五子棋游戏

    使用C语言实现五子棋游戏

    这篇文章主要为大家详细介绍了使用C语言实现五子棋游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08

最新评论