使用CFileFind类查找文件并获取文件图标

以CListCtrl为例,使用CFileFind类查找文件并获取文件的图标填充到CListCtrl中

主要代码如下:

int CTestDlg::OnInitDialog(void)
{
//获取控件指针
CListCtrl* plst_ctl=(CListCtrl*)GetDlgItem(IDC_LIST1);//IDC_LIST1为CListCtrl控件的ID
//添加图标(将图标存放在CImageList对象中,并与CListCrtl控件相关联)
//m_imagelist_b.Create(32,32,ILC_COLOR32|ILC_MASK ,0,0);//大图标
m_imagelist_s.Create(16,16,ILC_COLOR32|ILC_MASK ,0,0);//小图标
//plst_ctl->SetImageList(&m_imagelist_b,LVSIL_NORMAL);//大图标
plst_ctl->SetImageList(&m_imagelist_s,LVSIL_SMALL);
CFileFind findfile;
 //查找windows目录下的所有文件
int nfound=findfile.FindFile(L"C:\\Windows\\//*.*");
int i=0;
 while(nfound)
 {
 nfound=findfile.FindNextFile();
  //如果为文件夹则跳过
 if (findfile.IsDirectory())
 {
 continue;
 }
 SHFILEINFO finfo;
 //获取文件信息,主要图标icon
 SHGetFileInfo(findfile.GetFilePath(),0,&finfo,sizeof(finfo),SHGFI_ICON );
 //添加文件项目和图标
 //m_imagelist_b.Add(finfo.hIcon);//向ImageList里添加图标资源
 plst_ctl->InsertItem(i++,findfile.GetFileName(), m_imagelist_s.Add(finfo.hIcon));
 }
findfile.Close();//释放资源
return 0;
}

运行结果:

使用CFileFind类查找文件并获取文件图标

时间: 2024-10-08 06:03:55

使用CFileFind类查找文件并获取文件图标的相关文章

C# 实现访问FTP服务器下载文件,获取文件夹信息小记

最近因为要开发广告制作工具,自动生成广告流,需要获取第三方服务器上的文件资源,经过摸索,从这次经历中记录下. FtpWebRequest reqFtp; WebResponse response = null; //获取文件夹信息 reqFtp = (FtpWebRequest)WebRequest.Create(this.ftp);//ftp://IP:port/文件夹名1/文件夹名2/.../文件夹名 reqFtp.UseBinary = true; reqFtp.KeepAlive = f

根据文件名字获取文件的前缀和后缀的工具类

FileNameUtil.java package com.tyust.common; import org.junit.Test; /** * 获取文件后缀前缀的工具类 * * @author QiaoLiQiang * @time 2018年2月5日下午4:38:20 */ public class FileNameUtil { /** * 获取文件前缀 * * @param fileName * @return */ public static String getFilePrefix(S

nodejs 获取文件夹中的文件和获取文件夹中的所有图片

//获取项目工程里的图片 var fs = require('fs');//引用文件系统模块 var image = require("imageinfo"); //引用imageinfo模块 function readFileList(path, filesList) { var files = fs.readdirSync(path); files.forEach(function (itm, index) { var stat = fs.statSync(path + itm);

python文件夹遍历,文件操作,获取文件修改创建时间

在Python中,文件操作主要来自os模块,主要方法如下: os.listdir(dirname):列出dirname下的目录和文件os.getcwd():获得当前工作目录os.curdir:返回当前目录('.')os.chdir(dirname):改变工作目录到dirname os.path.isdir(name):判断name是不是一个目录,name不是目录就返回falseos.path.isfile(name):判断name是不是一个文件,不存在name也返回falseos.path.ex

PHP下载远程文件及获取文件内容

/**      * 获取远程文件的内容      * @parma $url  URL      * @return 获得内容      * **/     public static function getContent($url){ $flag = 0; do { $hCurl = curl_init(); curl_setopt($hCurl, CURLOPT_HEADER, 0); curl_setopt($hCurl, CURLOPT_RETURNTRANSFER, 1); cur

Python---进阶---文件操作---获取文件夹下所有文件的数量和大小

一.####编写一个程序,统计当前目录下每个文件类型的文件数 ####思路: - 打开当前的文件夹 - 获取到当前文件夹下面所有的文件 - 处理我们当前的文件夹下面可能有文件夹的情况(也打印出来) - 做出统计 ------------------------------------- import os #获取到当前文件夹下面所有的文件all_files = os.listdir(os.curdir) #os.curdir 表示当前目录 curdir:currentdirectory type

python 通过文件路径获取文件hash值

1 import hashlib 2 import os,sys 3 4 def CalcSha1(filepath): 5 with open(filepath,'rb') as f: 6 sha1obj = hashlib.sha1() 7 sha1obj.update(f.read()) 8 hash = sha1obj.hexdigest() 9 print(hash) 10 return hash 11 12 def CalcMD5(filepath): 13 with open(fi

python利用文件对话框获取文件路径

一.单文件 python3: 1 import tkinter as tk 2 from tkinter import filedialog 3 4 root = tk.Tk() 5 root.withdraw() 6 7 file_path = filedialog.askopenfilename() python2: 1 import Tkinter, tkFileDialog 2 3 root = Tkinter.Tk() 4 root.withdraw() 5 6 file_path =

C#打开mdb文件,获取文件下的所有表格,以及获取表格下的所有字段

1 String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|aspxWeb2.mdb;"; 2 OleDbConnection conn = new OleDbConnection(connectionString); 3 conn.Open(); 4 DataTable schemaTable; 5 DataTable dt = conn.GetOleDbSchema