MFC按钮打开选择一个文件夹,然后获得文件夹中的所有txt文件名称!

MFC按钮打开选择一个文件夹,然后获得文件夹中的所有txt文件名称!,第1张

这个满足你的要求

s返回文件路径

#define

DLG_FILTER

"ALL

Files

()|||"

#define

DLG_EXT

"

"

CFileDialog

dlg(TRUE,

_T(DLG_EXT),

NULL,

OFN_HIDEREADONLY

|

OFN_OVERWRITEPROMPT

|

OFN_ALLOWMULTISELECT,

_T(DLG_FILTER));

if

(dlgDoModal()

==

IDOK)

{

POSITION

pos

=

dlgGetStartPosition();

while

(pos

!=

0)

{

CString

s

=

dlgGetNextPathName(pos);

}

}

下面代码,可以选择文件夹,会返回文件夹的路径

需要自己查找每个文件

char

GetPath(HWND

hWnd,char

pBuffer)

{

BROWSEINFO

bf;

LPITEMIDLIST

lpitem;

memset(&bf,0,sizeof

BROWSEINFO);

bfhwndOwner=hWnd;

bflpszTitle=

"选择路径";

bfulFlags=BIF_RETURNONLYFSDIRS;

//属性你可自己选择

lpitem=SHBrowseForFolder(&bf);

if(lpitem==NULL)

//如果没有选择路径则返回

0

return

0;

//如果选择了路径则复制路径,返回路径长度

SHGetPathFromIDList(lpitem,pBuffer);

return

pBuffer;

}

给段代码你好好研究下

CFileFind finder;

BOOL bWorking = finderFindFile("");

while (bWorking) {

bWorking = finderFindNextFile();

cout << (LPCTSTR) finderGetFileName() << endl;

}

那给你补上吧:)

//取临时目录

格式

C:\Documents

and

Settings\用户名\Local

Settings\Temp

char

a[MAX_PATH];

SHGetSpecialFolderPath

(0,a,40,FALSE);

sprintf(a+strlen(a),"%s","\\Local

Settings\\Temp");

AfxMessageBox(a);

//换成短路径名

格式

C:\DOCUME~1\用户名~1\LOCALS~1\Temp

char

shortpath[MAX_PATH];

GetShortPathName(a,shortpath,255);

AfxMessageBox(shortpath);

//显示短路径名

//取windows目录

system32目录

char

systempath[255]={0};

GetSystemDirectoryA(systempath,MAX_PATH);

sprintf(systempath+strlen(systempath),"%s","

->

system32目录");

AfxMessageBox(systempath);

char

windowspath[255]={0};

GetWindowsDirectory(windowspath,MAX_PATH);

sprintf(windowspath+strlen(windowspath),"%s","

->

windows目录");

AfxMessageBox(windowspath);

//文件是否存在

(此例显示c:\bootini是否存在)

DWORD

a=

GetFileAttributes("c:\\bootini");

if

(a==-1)

{

AfxMessageBox("文件不存在");

}

else

{

AfxMessageBox("文件存在");

}

。。。其它的

GetTempPath

等等一系列API

你可以去查一下

百度搜索:VC

如何取xxx目录

在此不一一列举

还有一个枚举的API

可以取出所有的环境变量

SHGetSpecialFolderPath

API的应用就不多介绍了~这个你可以查下MSDN

GetSafeHandle();

this-> hWnd;

GetDlgItem(hwnd,ID);//获取窗口ID所对应的HWND的子窗口句柄

在主窗口中,如果要用到父窗口的句柄,可以用

HWND GetParent(HWND hWnd) 得到

参数为当前所在子窗口的句柄,函数的返回值就是当前子窗口的父窗口句柄

在父窗口中,如果有子窗口句柄,可以调用 GetWindowLong(hwndChild,GWL_ID)

参数GWL_ID就是用语获取子窗口的句柄

HWND FindWindow(

LPCTSTR lpClassName, // pointer to class name

LPCTSTR lpWindowName // pointer to window name

);

其中lpClassName是窗口的类名,你可以用spy++来查看其类的名称;lpWindowName是窗口的名称,一般指的是窗口的标题。如果窗口 的名称唯一,则窗口的类名可以省略,如:

HWND hWnd;

hWnd = ::FindWindow(NULL, "你的窗口标题 ");

对象-> GetSafeHwnd(); //控件对象

 

~你的采纳是我前进的动力,还又不明白的地方,请“追问”,我定知无不言!!

~如有新的问题,可另外向我求助,答题不易,互相理解,互相帮助!

O(∩_∩)O,记得好评和采纳,祝开心快乐,事事如意!

以上就是关于MFC按钮打开选择一个文件夹,然后获得文件夹中的所有txt文件名称!全部的内容,包括:MFC按钮打开选择一个文件夹,然后获得文件夹中的所有txt文件名称!、MFC combobox下拉菜单,显示文件夹或者文件目录、VC MFC 文件 *** 作问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9809591.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存