在 Delphi XE7 中,我需要获取 Windows 资源管理器用来显示文件夹的图标的位置,尤其是在缩略图视图中。所以我使用这段代码:
var
Shell32DllFilePath: string;
// Get shell32.dll FilePath:
Shell32DllFilePath := IncludeTrailingPathDelimiter(JclSysInfo.GetWindowsSystemFolder) + 'shell32.dll';
if not FileExists(Shell32DllFilePath) then
begin
Shell32DllFilePath := '';
// Todo: log this error
end;
然后我假设默认文件夹图标是带有IconIndex 3
in的图标shell32.dll
:
但是,这为我提供了每个文件夹的静态图像,而 Windows 资源管理器根据文件夹位置和/或文件夹内容使用不同的文件夹图标。
那么如何获得 Windows Explorer 用于任何特定文件夹的确切文件夹图标位置(图标 dll 文件和图标索引)?