21xrx.com
2024-12-22 22:15:15 Sunday
登录
文章检索 我的文章 写文章
C++修改文件图标
2023-07-05 03:42:28 深夜i     --     --
C++ 修改 文件 图标

C++是一种强大的编程语言,它能够让我们掌控电脑的方方面面。其中,修改文件图标其实也是C++的一个功能之一。

在C++中,操作文件图标需要我们借助Shell编程。具体来说,我们需要调用Shell32.dll中的ShellExecute函数,在函数中传入参数,指定需要修改图标的文件路径、目标图标路径以及图标类型等信息。

下面是一个修改文件图标的示例代码:


#include <windows.h>

#include <shellapi.h>

int main()

{

  SHFILEINFO ShellInfo;

  TCHAR szExe[MAX_PATH] = _T("C:\\test\\test.exe");

  TCHAR szIco[MAX_PATH] = _T("C:\\test\\test.ico");

  SHGetFileInfo(szExe, 0, &ShellInfo, sizeof(ShellInfo),

    SHGFI_ICONLOCATION | SHGFI_EXETYPE);

  ShellExecute(NULL, _T("open"), szExe, NULL, NULL, SW_SHOWDEFAULT);

  Sleep(1000);

  DestroyIcon(ShellInfo.hIcon);

  ExtractIconEx(szIco, 0, NULL, NULL, 1);

  SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL);

  return 0;

}

代码中,我们首先定义了需要修改图标的文件路径和目标图标路径,然后调用了SHGetFileInfo函数获取了目标文件的图标信息。接着,我们使用ShellExecute函数打开目标文件,等待1秒钟后通过ExtractIconEx函数获取目标图标信息并将其替换成目标文件的默认图标。最后,我们通过SHChangeNotify函数触发窗口的重绘,让新的图标生效。

总的来说,使用C++修改文件图标相对来讲比较复杂,需要我们掌握一定的系统api和相关编程技巧。但是,一旦掌握了这个技能,我们便可以随心所欲地修改文件图标,让我们的电脑变得更加个性化。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复