设置文件夹图标
#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;
}
哇,老会员的第一贴。支持。 支持,鼓励下 厉害了,学习一下
保存什么格式 玩不懂c++ 2011年注册,第一次发帖?支持一下,期待您更好的作品! 学习了,多谢分享
页:
[1]