精华内容
下载资源
问答
  • 我是在C/C++控制台写的打开文件选择对话框,所以很多头文件需要先进行声明,不然功能无法使用 新声明头文件: #include <windows.h> #include <ShlObj.h> #include <stdio.h> #include <...

    我是在C/C++控制台写的打开文件选择对话框,所以很多头文件需要先进行声明,不然功能无法使用

     新声明头文件:

    #include <windows.h>
    #include <ShlObj.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <atlstr.h> 
        CString path;
    	OPENFILENAME open;// 公共对话框结构。
    	char file[MAX_PATH];// 用来保存获取文件名称的缓冲区。 
    	ZeroMemory(&open,sizeof(OPENFILENAME)); // 初始化选择文件对话框
    	open.lStructSize=sizeof(OPENFILENAME);//指定这个结构的大小,以字节为单位。
    	open.lpstrFile = file;//打开的文件的全路径
    	open.lpstrFile[0] = '\0'; //第一个字符串是过滤器描述的显示字符串
    	open.nMaxFile = MAX_PATH;  //指定lpstrFile缓冲的大小,以TCHARs为单位
    	open.lpstrFilter = "文本文件(*.txt)\0*.txt\0所有文件(*.*)\0*.*\0\0";  //打开文件类型
        open.nFilterIndex = 1;  //指定在文件类型控件中当前选择的过滤器的索引
        open.lpstrFileTitle = NULL; // 指向接收选择的文件的文件名和扩展名的缓冲(不带路径信息)。这个成员可以是NULL。
        open.nMaxFileTitle = 0;  //指定lpstrFileTitle缓冲的大小,以TCHARs为单位
    	open.lpstrInitialDir = NULL;  //指向以空字符结束的字符串,可以在这个字符串中指定初始目录。
    	open.Flags = OFN_EXPLORER |OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;//位标记的设置,你可以使用来初始化对话框
    	//GetOpenFileName (&open) ;//打开文件对话框
    	//GetSaveFileName(&open);//保存文件对话框
        if (GetOpenFileName(&open))  // 显示打开选择文件对话框。  
        {  
            path = file;  
    		printf(path+"\n");
        }  
    	system("pause");
    	return 0;

    当我们遇到如下错误时:

    1	IntelliSense: 不能将 "char *" 类型的值分配到 "LPWSTR" 类型的实体	
    

    选择“项目”-》“XXX项目属性”-》“配置属性”-》“常规”选项中,把“字符集”改为“使用多字节字符集”,然后确定。

     遇到    1    IntelliSense: 未定义标识符 "CString"    时添加头文件 #include <atlstr.h>即可

    OPENFILENAME的具体属性含义可以参考(这个写的很详细):

    公共对话框:OPENFILENAME结构

    完整代码:

    // ConsoleApplication2.cpp : 定义控制台应用程序的入口点。
    //
    
    #include "stdafx.h"
    #include <windows.h>
    #include <ShlObj.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <atlstr.h>
    
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	CString path;
    	OPENFILENAME open;// 公共对话框结构。
    	char file[MAX_PATH];// 用来保存获取文件名称的缓冲区。 
    	ZeroMemory(&open,sizeof(OPENFILENAME)); // 初始化选择文件对话框
    	open.lStructSize=sizeof(OPENFILENAME);//指定这个结构的大小,以字节为单位。
    	open.lpstrFile = file;//打开的文件的全路径
    	open.lpstrFile[0] = '\0'; //第一个字符串是过滤器描述的显示字符串
    	open.nMaxFile = MAX_PATH;  //指定lpstrFile缓冲的大小,以TCHARs为单位
    	open.lpstrFilter = "文本文件(*.txt)\0*.txt\0所有文件(*.*)\0*.*\0\0";  //打开文件类型
        open.nFilterIndex = 1;  //指定在文件类型控件中当前选择的过滤器的索引
        open.lpstrFileTitle = NULL; // 指向接收选择的文件的文件名和扩展名的缓冲(不带路径信息)。这个成员可以是NULL。
        open.nMaxFileTitle = 0;  //指定lpstrFileTitle缓冲的大小,以TCHARs为单位
    	open.lpstrInitialDir = NULL;  //指向以空字符结束的字符串,可以在这个字符串中指定初始目录。
    	open.Flags = OFN_EXPLORER |OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;//位标记的设置,你可以使用来初始化对话框
    	//GetOpenFileName (&open) ;//打开文件对话框
    	//GetSaveFileName(&open);//保存文件对话框
        if (GetOpenFileName(&open))  // 显示打开选择文件对话框。  
        {  
            path = file;  
    		printf(path+"\n");
        }  
    	system("pause");
    	return 0;
    }
    
    

    欢迎关注本人的公众号:编程手札,文章也会在公众号更新

    展开全文
  • C语言控制台界面调用系统的文件浏览对话框
  • C 打开文件对话框 OpenFileDialog

    千次阅读 2018-11-11 01:18:36
    C 打开文件对话框 OpenFileDialog

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

    也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

                   

    打开文件对话框(OpenFileDialog)   
       
    1、   OpenFileDialog控件有以下基本属性     
      InitialDirectory   对话框的初始目录    
      Filter   要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)||*.*"    
      FilterIndex   在对话框中选择的文件筛选器的索引,如果选第一项就设为1    
      RestoreDirectory   控制对话框在关闭之前是否恢复当前目录    
      FileName   第一个在对话框中显示的文件或最后一个选取的文件    
      Title   将显示在对话框标题栏中的字符    
      AddExtension   是否自动添加默认扩展名    
      CheckPathExists   在对话框返回之前,检查指定路径是否存在    
      DefaultExt   默认扩展名    
      DereferenceLinks   在从对话框返回前是否取消引用快捷方式    
      ShowHelp   启用"帮助"按钮    
      ValiDateNames   控制对话框检查文件名中是否不含有无效的字符或序列     
       
    2、   OpenFileDialog控件有以下常用事件          
      FileOk   当用户点击"打开"或"保存"按钮时要处理的事件    
      HelpRequest   当用户点击"帮助"按钮时要处理的事件

        
    3、示例  
      可以用以下代码来实现上面这个对话框:    
      private   void   openFileDialogBTN_Click(o   b   j   e   c   t   sender,   System.EventArgs   e)

    {

       
      OpenFileDialog   openFileDialog=new   OpenFileDialog();  
      openFileDialog.InitialDirectory="c://";  
      openFileDialog.Filter="文本文件|*.*|C#文件|*.cs|所有文件|*.*";  
      openFileDialog.RestoreDirectory=true;  
      openFileDialog.FilterIndex=1;  
      if   (openFileDialog.ShowDialog()==DialogResult.OK)  
      {   
           fName=openFileDialog.FileName;  
           File   fileOpen=new   File(fName);   
           isFileHaveName=true;  
           richTextBox1.Text=fileOpen.ReadFile();  
           richTextBox1.AppendText("");   
      }  

     
      }    

     

    //浏览文件夹
    private void button2_Click(object sender, EventArgs e)
    {
         FolderBrowserDialog dlg = new FolderBrowserDialog();
         if (dlg.ShowDialog() == DialogResult.OK)
         MessageBox.Show(dlg.SelectedPath.ToString());
    }

    //打开文件
    private void button3_Click(object sender, EventArgs e)
    {
         OpenFileDialog dlg = new OpenFileDialog();
         if (dlg.ShowDialog() == DialogResult.OK)
         MessageBox.Show(dlg.FileName);
    }
               

    给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

    这里写图片描述
    展开全文
  • //定义通用文件打开对话框 TCHAR szOpenFileName[80 * MAX_PATH]; memset( szOpenFileName, 0, sizeof( szOpenFileName ) ); ZeroMemory( & ofn, sizeof( ofn ) ); //初始化OPENFILENAME结构参考文档二
    				OPENFILENAME ofn;	//定义通用文件打开对话框
    				TCHAR szOpenFileName[80 * MAX_PATH];
    				memset( szOpenFileName, 0, sizeof( szOpenFileName ) );
    				ZeroMemory( & ofn, sizeof( ofn ) );	//初始化OPENFILENAME结构参考文档二
    				ofn.lStructSize =sizeof( OPENFILENAME );	//大小
    				ofn.hwndOwner = hwnd;	//所属句柄(窗口)
    				ofn.lpstrFile = szOpenFileName;	//文件名
    				ofn.lpstrFile[0] = '\0';
    				ofn.lpstrTitle = TEXT( "选择文件" );	//对话框标题
    				ofn.nMaxFile = sizeof( szOpenFileName );		//最大路径
    				ofn.lpstrFilter = TEXT( "所以格式文件( wav,mp3, wma )\0*.wav;*.mp3;*.wma\0wav文件\0*.mp3\0wma文件\0*.wma\0\0" );																//文件类型
    				ofn.nFilterIndex = 1;
    				ofn.lpstrInitialDir = NULL;
    				ofn.Flags = OFN_ALLOWMULTISELECT| OFN_EXPLORER | OFN_HIDEREADONLY ;
    				//ofn.lpfnHook = NULL;
    
    				if ( GetOpenFileName( &ofn ) )
    				{				
    					//到目前为止,OPENFILENAME的各参数值已经存在
    					TCHAR fileName[MAX_PATH];TCHAR *p;p = szOpenFileName + ofn.nFileOffset;//将p指针指向路径的第一个文件的起始位置
    					while ( *p )
    					{
    						ZeroMemory( fileName, sizeof( fileName ) );
    						lstrcat( fileName, p );
    						HWND hwndList = GetDlgItem( hwnd, IDC_LISTMUSIC );
    						SendMessage( hwndList, LB_INSERTSTRING, 0, ( LPARAM )fileName );//将文件名输出到ListBox控件中
    						p += lstrlen( p ) + 1; //将p指针指向下一个文件
    					}
    					SendMessage( GetDlgItem( hwnd, IDC_LISTMUSIC ), LB_SETCURSEL, 0, 0 );
    				}

    ListBox部分属性说明:Single为单选,Multiple为多选;Extended当按下Ctrl键时可多选;

    参考文档一

    展开全文
  • C语言可不可以像MFC那样,打开文件选择对话框,在里面选择文件,然后打开呢?
  • c/C++文件(夹)选择对话框
  • 我现在需要跟windows,**任何程序**创建的save/open 文件对话框进行交互,根据msdn所说 [链接](https://dwz.cn/gKNKBrDv ""): > 从vista开始,提供了IFileDIalog接口来替代以前的GetOpenFileName等方法 ...
  • int CALLBACK BrowseCallbackProc(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM ... // 设置默认的打开路径 if (uMsg == BFFM_INITIALIZED) { SendMessage(hwnd, BFFM_SETSELECTION, (WPARAM)TRUE,(LPARAM)szDesk.
    int CALLBACK BrowseCallbackProc(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData)
    {
    	CHAR szDesktop[MAX_PATH]; 
    	getDesktoppath(szDesktop); // 设置默认的打开路径
    	if (uMsg == BFFM_INITIALIZED)
    	{
    		SendMessage(hwnd, BFFM_SETSELECTION, (WPARAM)TRUE,(LPARAM)szDesktop);
    	}
    	return 0;
    }
    /**
     *  文件夹选择对话框
     */
    unsigned char browseforfolder(char path[]) {
    	LPITEMIDLIST lpDlist =NULL;
    	TCHAR szPathName[MAX_PATH];
    	BROWSEINFO bInfo = { 0 };
    	memset(&bInfo, 0, sizeof(BROWSEINFO));
    	bInfo.lpszTitle = "选择文件的保存路径";
    	bInfo.hwndOwner = GetForegroundWindow();   
    	bInfo.lpfn = BrowseCallbackProc;
    	bInfo.ulFlags = BIF_RETURNONLYFSDIRS | BIF_USENEWUI|
    		BIF_UAHINT| BIF_NONEWFOLDERBUTTON ;
    	lpDlist = SHBrowseForFolder(&bInfo);
    	if(lpDlist!=NULL)
    	{   
    		SHGetPathFromIDList(lpDlist, szPathName);
    		strcpy(path,szPathName);
    		return 1;
    	}
    return 0;
    }

     

    展开全文
  • 1.弹出对话框 首先调用Windows.h这个头文件 #include<windows.h> 接下来我们调用messagebox MessageBox(0, "你好,天朝", "helloworld", 0); //第一个参数设置为0,第一个参数是依赖的窗口的编号,相当...
  • 代码片段,在windows下用C语言调用文件选择对话框,以备忘 #define DEFAULT_DIR "" char extraction_path[MAX_PATH] = DEFAULT_DIR; /* * Browse for a folder and update the folder edit box * ...
  • 如果要将打开文件的内容显示到编辑框中,可以把读出的内容放到一个缓冲区中,然后再放到CString类型编辑框变量m_szDisplay中,就可以在编辑框中显示,别忘了Update(FALSE);当然也可以使用SendMessage函数。 ...
  • win32api调用打开/保存文件对话框

    千次阅读 2016-11-03 22:33:46
    演示:打开一个文本文件读取其中的第一个整数 #include #include #include using namespace std; int main() { TCHAR szFileName[MAX_PATH] = {}; OPENFILENAMEW openFileName = {}; openFileName....
  • 在控制台程序中打开文件管理对话框,效果图如下所示:在需要弹出对话框的地方插入以下代码://打开文件管理窗口TCHAR szBuffer[MAX_PATH] = { 0 };OPENFILENAME file = { 0 };file.hwndOwner = NULL;file....
  • Qt打开文件对话框

    2014-08-06 11:55:00
    项目中需要打开文件对话框,就查了一下,不得不说Qt的帮助文档做的真好,非常详细。要实现这个功能有两种方式,使用QFileDialog的静态方法,实例化QFileDialog对象。 基本算是照抄帮助文档了。下面是自己的代码。 ...
  • OPENFILENAME ofn; char szFile[MAX_PATH]; ZeroMemory(&ofn,sizeof(ofn));//C语言中,结构体声明后必须要进行初始化结构体 ...ofn.lStructSize = sizeof(ofn...//打开文件的全路径 ofn.lpstrFile[0] = TEXT('\0');
  • MFC打开文件对话框

    2017-01-11 21:40:08
    常用的文件对话框提供了一种简单的与Windows标准相一致的文件打开和文件存盘对话框功能。CFileDialog的语法: CFileDialog(BOOL bOpenFileDialog,LPCTSTR lpszDefExt=NULL,LPCTSTR lpszFileName=NULL,DWORD
  • C# 保存文件 文件夹选择对话框 private void Btn_OutPath_Click(object sender, EventArgs e) { FolderBrowserDialog dialog = new FolderBrowserDialog(); dialog.Description = "请选择文件路径"; if ...
  • C语言打开exe

    2021-01-07 22:13:38
    C语言弹窗打开一个exe 使用windows.h下的函数。 MessageBox() 第一个参数为0,表示依赖的窗口的编号,设为0就是系统弹出的;第二个参数是对话框的内容,第三个是对话框的标题,第四个是对话框的类型,设为0就可 ...
  • C语言的控制端程序中调用库函数打开文件选择对话框
  • 怎么用C语言打开一个应用程序怎样用C语言打开文件夹(源代码)在C语言中,对文件夹的操作,专业的说法称为"切换路径/目录",而不是"打开",因为文件夹,并不是一个"真正的文件",而只是一个访问文件的目录. 用C语言中的函数...
  • VC中打开对话框选择文件和文件夹

    千次阅读 2016-07-05 11:17:12
    1、选择文件 CFileDialogdlg(true, NULL, NULL, NULL, "所有文件 | *.*", this); if (IDOK == dlg. DoModal()) { MessageBox(dlg .GetPathName
  • // 构造打开文件对话框 CFileDialog fileDlg(TRUE, _T("txt"), NULL, 0, szFilter, this); CString strFilePath; // 显示打开文件对话框 if (IDOK == fileDlg.DoModal()) { // 如果点击了文件...
  • C++采用openfilename打开文件对话框用法实例本文实例讲述了C++采用openfilename打开文件对话框用法,分享给大家供大家参考。具体方法如下:这里需要注意,有的时候会因为没设置nMaxFile,而一直不出现对话框。具体...
  • c语言--windows文件夹选择对话框--windows api--SHBrowseForFolder
  • 练习一上机要点a、如何创建解决方案b、如何创建空项目c、如何添加源文件d、编写入口程序并弹出对话框步骤1、创建空白解决方案打开Visual Studio,菜单文件 新建 新建项目 其他项目,选择其他项目 Visual Studio解决...
  • 1. MessageBox 调用window.h头文件 ... arg1:对话框的内容 arg2:对话框的标题 arg3:对话框类型,设置为0即可 #include<stdio.h> #include<Windows.h> void main() { //printf("Hello world"...
  • C语言笔记-文件操作(读取和写入)

    千次阅读 2019-05-19 21:50:06
    说到文件操作首先想到的就是文件打开、关闭、读取以及写入等操作。文件可以分为文本文件和二进制文件,文本文件也称为ASCII文件,这种文件在保存时,每个字符对应一个字节,用于存放对应的ASCII码。二进制文件不是...
  • 安装后不能选择默认使用3.5.1的版本打开打开方式里也没有QT Creator 3.5.1,所以研究增加打开方式里程序列表。 查询资料发现,ubuntu设置软件默认打开方式的地方有两处: 系统默认打开方式保存在 /usr/share/...
  • nativefiledialog:一个小巧的C语言库,可移植地调用本机文件打开和保存对话框

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,256
精华内容 4,502
关键字:

c语言打开文件对话框

c语言 订阅