Delphi 如何获取桌面的图标?
我想从一些系统目录中获取图标,如“桌面”。然而,我却得到了一个“默认文件”的图标 函数GetSpecialFolderPath(CSIDLFolder:Integer):字符串; var FilePath:字符的数组[0..MAX_PATH]; 开始 SHGetFolderPath(0,CSIDLFolder,0,0,FilePath); 结果:=文件路径; 结束; 函数GetSystemFileIcon(FolderID:Integer):TIcon; 变量 AInfo:TSHFileInfo; 爱康:提康; 分机:PAnsiChar; 路径:字符串; 开始 路径:=GetSpecialFolderPath(FolderID); 如果路径=“”则开始 结果:=无; 出口 结束; 如果SHGetFileInfo(PChar(路径)、文件属性、AInfo、SizeOf(AInfo), SHGFI_图标或SHGFI_大图标或SHGFI_系统图标索引或SHGFI_使用文件属性或SHGFI_打开图标)0,然后 开始 AIcon:=TIcon.Create; 尝试 AIcon.Handle:=AInfo.hIcon; 结果:=AIcon; 除了 爱康免费; 提高; 结束; 结束 其他的 结果:=无; 结束; var-Ico:TIcon; 开始 Ico:=GetSystemFileIcon(CSIDL\U桌面目录);Delphi 如何获取桌面的图标?,delphi,winapi,Delphi,Winapi,我想从一些系统目录中获取图标,如“桌面”。然而,我却得到了一个“默认文件”的图标 函数GetSpecialFolderPath(CSIDLFolder:Integer):字符串; var FilePath:字符的数组[0..MAX_PATH]; 开始 SHGetFolderPath(0,CSIDLFolder,0,0,FilePath); 结果:=文件路径; 结束; 函数GetSystemFileIcon(FolderID:Integer):TIcon; 变量 AInfo:TSHFileInfo
需要删除此属性:
SHGFI_USEFILEATTRIBUTES
那么它就可以正常工作了
SHGFI_USEFILEATTRIBUTES