hoy0a1d 发表于 2018-7-19 13:16

设置文件夹图标


#include <iostream>
#include <string>
#include <windows.h>

int main(int argc, char *argv[])
{
    if(argc != 3)      // 判断参数个数,若小于 3 则输出提示
    {
      printf("\t\t**************************************\n");
      printf("\t\t\tSetDirIcon By Hoy0a1d.\n");
      printf("\t\t\tUsage:%s DirPath IconPath\n", argv);
      printf("\t\t**************************************\n");
    }
    else
    {
      // 判断需要设置的文件夹是否存在
      if(GetFileAttributes(argv) != INVALID_FILE_ATTRIBUTES)
      {
            // 判断 ico 文件是否存在
            if(GetFileAttributes(argv) != INVALID_FILE_ATTRIBUTES)
            {
                char iniPath = "";
                char icoPath = "";
                // 在需要设置的文件夹下新建 desktop.ini
                strcat(iniPath, argv);
                strcat(iniPath, "\\desktop.ini");
                // 将 ico 文件复制到文件夹下命名为 icon.ico
                strcat(icoPath, argv);   
                strcat(icoPath, "\\icon.ico");
                // 复制文件,覆盖已有
                CopyFile(argv, icoPath, FALSE);
                // 设置 icon.ico 文件属性为隐藏
                SetFileAttributes(icoPath, FILE_ATTRIBUTE_HIDDEN);
                /* BOOL WritePrivateProfileString(
                  LPCTSTR lpAppName,    // INI文件中的一个字段名[节名]
                  LPCTSTR lpKeyName,// lpAppName 下的一个键名
                  LPCTSTR lpString,   // 键值
                  LPCTSTR lpFileName// INI文件的路径
                ); */
                if(WritePrivateProfileString(".ShellClassInfo", "IconResource", "icon.ico", iniPath) == true)
                {
                  // 设置 desktop.ini 文件属性为系统+隐藏
                  SetFileAttributes(iniPath, FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_HIDDEN);
                  printf("Folder icon setting success!\n");
                }
                else
                  printf("Folder icon setting failed!\n");
            }
            else
                printf("ICO files do not exist.\n");
      }
      else
            printf("Folders do not exist.\n");
    }
    return 0;
}

zhangqi222 发表于 2018-7-19 13:24

哇,老会员的第一贴。支持。

tangming123 发表于 2018-7-19 13:35

支持,鼓励下

流年丶 发表于 2018-7-19 13:35

厉害了,学习一下

qazx5555 发表于 2018-7-19 13:57

保存什么格式

XDJ4515 发表于 2018-7-19 13:58

玩不懂c++

wushaominkk 发表于 2018-7-20 13:58

2011年注册,第一次发帖?支持一下,期待您更好的作品!

shiyideliutang 发表于 2018-12-11 21:51

学习了,多谢分享
页: [1]
查看完整版本: 设置文件夹图标