当前位置: 首页 > news >正文

Windows API遍历桌面上所有文件

要获取桌面上的图标,可以使用Windows API中的Shell API。以下是遍历桌面上所有文件的示例代码:

#include <Windows.h>
#include <ShlObj.h>
#include <iostream>
#include <vector>
using namespace std;int main()
{// 获取桌面文件夹的路径wchar_t desktopPath[MAX_PATH];if (FAILED(SHGetFolderPathW(NULL, CSIDL_DESKTOPDIRECTORY, NULL, 0, desktopPath))){cout << "Failed to get desktop folder path." << endl;return 1;}// 获取桌面上的图标vector<wstring> icons;WIN32_FIND_DATAW findData;HANDLE hFind = FindFirstFileW((wstring(desktopPath) + L"\\*").c_str(), &findData);if (hFind != INVALID_HANDLE_VALUE){do{if (findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)continue;wstring iconPath = wstring(desktopPath) + L"\\" + findData.cFileName;icons.push_back(iconPath);} while (FindNextFileW(hFind, &findData));FindClose(hFind);}// 输出桌面图标路径for (const auto& icon : icons){wcout << icon << endl;}return 0;
}


 

在这个示例中,通过调用`SHGetFolderPathW`函数来获取桌面文件夹的路径。然后使用`FindFirstFileW`和`FindNextFileW`遍历桌面上的所有文件和文件夹。我们只对文件感兴趣,所以在循环中排除了文件夹。最后,我们将每个图标的路径存储在一个向量中,并将其输出到控制台。

请注意,此示例代码需要链接Shell32.lib库。

http://www.lryc.cn/news/95936.html

相关文章:

  • 【MySQL】基本查询(插入查询结果、聚合函数、分组查询)
  • 【Go语言】Golang保姆级入门教程 Go初学者介绍chapter1
  • mysql 自增长键值增量设置
  • 【pytho】request五种种请求处理为空和非空处理以及上传excel,上传图片处理
  • 【全面解析】Windows 如何使用 SSH 密钥远程连接 Linux 服务器
  • 解锁新技能《基于logback的纯java版本SDK实现》
  • 你需要知道的云原生架构体系内容
  • 安全渗透--正则表达式
  • git如何撤销commit(未push)
  • Vue数组与字符串互转
  • Java编程实现遍历两个MAC地址之间所有MAC的方法
  • 用AXIS2发布WebService的方法
  • 嵌入式学习_Day 003
  • 常用的数据结构 JAVA
  • 基于机器视觉工具箱和形态学处理的视频中目标形状检测算法matlab仿真
  • 小白入门:sentence-transformer 提取embedding模型转onnx
  • 数据库应用:Redis持久化
  • js版计算比亚迪行驶里程连续12个月计算不超3万公里改进版带echar
  • 一文详解Spring Bean循环依赖
  • 基于PHP+ vue2 + element +mysql自主研发的医院不良事件上报系统
  • 微服务远程调用openFeign简单回顾(内附源码示例)
  • 【云计算小知识】云环境是什么意思?有什么优点?
  • 【搜索引擎Solr】Apache Solr 神经搜索
  • PostgreSQL 设置时区,时间/日期函数汇总
  • 性能测试Ⅱ(压力测试与负载测试详解)
  • 【Python入门系列】第十八篇:Python自然语言处理和文本挖掘
  • 【GD32F103】自定义程序库08-DMA+ADC
  • 集成了Eureka的应用启动失败,端口号变为8080
  • CMU 15-445 -- Timestamp Ordering Concurrency Control - 15
  • MURF2080CT/MURF2080CTR-ASEMI快恢复对管