吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3278|回复: 7
收起左侧

[C&C++ 转载] 设置文件夹图标

  [复制链接]
hoy0a1d 发表于 2018-7-19 13:16
[C++] 纯文本查看 复制代码
#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[0]);
        printf("\t\t**************************************\n");
    }
    else
    {
        // 判断需要设置的文件夹是否存在
        if(GetFileAttributes(argv[1]) != INVALID_FILE_ATTRIBUTES)
        {
            // 判断 ico 文件是否存在
            if(GetFileAttributes(argv[2]) != INVALID_FILE_ATTRIBUTES)
            {
                char iniPath[MAX_PATH] = "";
                char icoPath[MAX_PATH] = "";
                // 在需要设置的文件夹下新建 desktop.ini
                strcat(iniPath, argv[1]);
                strcat(iniPath, "\\desktop.ini");
                // 将 ico 文件复制到文件夹下命名为 icon.ico
                strcat(icoPath, argv[1]);    
                strcat(icoPath, "\\icon.ico");
                // 复制文件,覆盖已有
                CopyFile(argv[2], 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;
}

免费评分

参与人数 2吾爱币 +4 热心值 +2 收起 理由
wushaominkk + 2 + 1 鼓励新人贴!
610100 + 2 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

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
学习了,多谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 22:34

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表