gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 33 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章C++ 控制台弹出文件管理对话框案例由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

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

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
//打开文件管理窗口
  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如何弹出保存路径/保存文件对话框 。

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
//保存路径
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++控制台程序弹出消息框 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#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;
}

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

原文链接:https://blog.csdn.net/u012293114/article/details/105121752 。

最后此篇关于C++ 控制台弹出文件管理对话框案例的文章就讲到这里了,如果你想了解更多关于C++ 控制台弹出文件管理对话框案例的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com