Windows API遍历桌面上所有文件

这篇具有很好参考价值的文章主要介绍了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库。文章来源地址https://www.toymoban.com/news/detail-603690.html

到了这里,关于Windows API遍历桌面上所有文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【文件IO】Linux 文件操作(一) —— 遍历指定目录下的所有文件

    目录 一、访问目录相关函数 1、打开/访问目录 (opendir / fdopendir) 2、读取目录内容 (readdir) 3、关闭目录 (closedir) 二、遍历指定目录下的所有文件 opendir / fdopendir 函数的作用是访问指定路径的目录,函数声明如下: (1) opendir opendir 函数是通过用户提供的目录路径来访问目录, 参

    2024年02月04日
    浏览(57)
  • 【Linux】shell中快速遍历所有文件下匹配的内容

    目录 1.举例 2.find命令 2.1. find命令作用 2.2. find命令选项基本格式 2.3. 常用选项 2.4. 常用动作  2.5. 根据文件名进行匹配  2.5.2 在/home目录下查找以.txt结尾的文件名  2.5.3 同上,但忽略大小写  2.5.4 查找 /home/ 下所有以.txt或.pdf结尾的文件 2.5.5 查找 /home/ 下所有以a开头和以.txt结

    2024年02月07日
    浏览(60)
  • 使用javaAPI对HDFS进行文件上传,下载,新建文件及文件夹删除,遍历所有文件

    目录 //通过工具类来操作hdfs   hdfs dfs -put d:user_info.txt  /user_info.txt  // 将文件放入到hdfs中  2.通过工具类来操作hdfs   hdfs dfs -get hdfs路径   本地路经  将文件放入到本地Windows中 3.通过工具类来操作hdfs   hdfs dfs -mkdir -p  hdfs路径 4.通过工具类来操作hdfs  查看一个文件是否存在

    2024年02月12日
    浏览(51)
  • Unity Editor 遍历指定文件夹下的所有prefab

    适用场景:                  查找指定文件夹下所有的prefab并找到所有引用的图片及路径。 步骤分析:                 1、通过guid获取资源路径                 2、获取文件夹中包含后缀为.prefab的路径                 3、编辑器下加载该资源(如果对资源有编辑的话

    2024年02月04日
    浏览(67)
  • python遍历文件夹下的所有子文件夹,并将指定的文件复制到指定目录

    在1文件夹中有1,2两个文件夹 将这两个文件夹中的文件复制到 after_copy中 源文件 复制后: 参考1 源文件 复制后 参考2 如果复制bmp文件就将 suffix = \\\".json\\\" 改为 suffix = \\\".bmp\\\"

    2024年02月11日
    浏览(92)
  • 第11课 利用windows API捕获桌面图像并通过FFmpeg分享

    在上一章,我们已经实现了一对一音视频对话功能。在实际应用中,我们常需要把自己的电脑桌面分享给他人以实现桌面共享功能,这种功能在视频会议、在线教学等场景中很常见,这种功能如何实现呢?这节课我们就来解决这个问题。 1.备份demo9并修改demo9为demo11。 2.在fm

    2024年02月03日
    浏览(36)
  • C++调用opencv和windows api完成桌面窗口截图——以梦幻西游为例

    项目编写的C++程序,根据输入的字符串,遍历所有桌面窗口标题,查找包含该标题的窗口,对该桌面窗口进行截图,以梦幻西游为例 输入:桌面窗口包含的字符串 比如输入“梦幻”,程序就会截取桌面“梦幻西游”的窗口 输出:该桌面窗口的截图,数据类型为opencv的Mat矩阵

    2024年02月21日
    浏览(34)
  • 尝试Windows桌面平台开发

    iOS和macOS升级告一段落后,感觉轻松下来了。 无意中打开了Windows电脑,做苹果开发以来,Windows电脑用的很少,也不知怎么就点开了Microsoft Store的图标,哎,正好没什么事,何不试试Windows平台的开发呢。兴趣来了,搜索了一下,似乎没多少有关的文章,管它呢,能上就上,上

    2024年02月08日
    浏览(64)
  • windows桌面程序开发

    一、  C#    WPF WPF是微软推出的基于Windows Vista的用户界面框架,属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面。 优点:技术成熟;类库多;数据与视图分

    2024年02月06日
    浏览(38)
  • 记Flutter windows桌面端开发实战

    前言 从今年1月份开始项目落实后开始使用flutter进行windows桌面应用开发,到现在出了第一个大版本,历时大致2个半月,项目组主要成员2个,后边面临开发压力先后又有2位开发加入完成一小部分溢出功能。 开发前准备 调研了大量flutter windows方面的开发小部件、注意事项、插

    2024年02月10日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包