प्राप्त करने का सबसे तेज़ तरीका मैं खोल आइकन (विंडोज एक्सप्लोरर में प्रदर्शित एक) प्राप्त करने के लिए इस कोड का उपयोग कर रहा हूं।
क्या किसी को इन आइकनों को पाने के लिए एक तेज़ तरीका है? SHGetFileInfo
काफी धीमा प्रतीत होता है।खोल आइकन
procedure TForm2.Button1Click(Sender: TObject);
var
FileInfo: TSHFileInfo;
begin
FillChar(FileInfo, SizeOf(FileInfo), 0);
if SHGetFileInfo(PChar('c:\windows\'), 0, FileInfo, SizeOf(FileInfo),
SHGFI_ICON or SHGFI_SMALLICON or SHGFI_SYSICONINDEX) <> 0 then
DrawIconEx(Canvas.Handle, 10, 10, FileInfo.hIcon, 0, 16, 16, 0, DI_IMAGE or
DI_MASK);
end;
धन्यवाद!
मैंने इस विधि को अतीत में उपयोग किया है जिसमें सी ++ एप्लिकेशन से कोई समस्या नहीं है। हालांकि थोड़ा सा अंतर है, मैंने केवल झंडे 'SHGFI_ICON' और 'SHGFI_USEFILEATTRIBUTES' का उपयोग किया था। – alf
हां, अगर गति एक मुद्दा है तो निश्चित रूप से 'SHGFI_USEFILEATTRIBUTES' का उपयोग करें। इसके साथ, 'SHGetFileInfo()' अपनी विशेषताओं के लिए वास्तविक फ़ाइल से पूछताछ छोड़ देता है, जिसमें कुछ समय लग सकता है। –