我遇到了SHGetFileInfo問題。我使用FPC 2.6.2與拉撒路1.0.14,這裏是代碼:SHGetFileInfo產生帶有黑色背景的圖標
procedure x;
var
FI: SHFILEINFO;
icon: ticon;
begin
SHGetFileInfo('app.exe', 0, FI, SizeOf(FI), SHGFI_SYSICONINDEX or SHGFI_ICON or SHGFI_LARGEICON);
icon := TIcon.Create;
icon.Handle := FI.hIcon;
icon.SaveToFile('extracted.ico');
end;
的問題是它會產生黑色背景圖標文件,而不是OD透明。下面是它的樣子:
http://i.imgur.com/5BF3xbT.jpg
當我編譯在Delphi相同的代碼,它完美的作品。圖標具有透明背景。
我將不勝感激,如果有人可以幫助我解決這個問題:-)
謝謝,這很好用 – user1269348
拉撒路1.2的RC2可用。可能值得重新測試。 –
Lazarus 1.2 RC2不能解決此問題。實際上,當我在Lazarus 1.2 RC2(32位版本,TKicon不支持64位)中編寫並試用我的代碼示例時。 P.S .:也許在1.4?看到這個錯誤報告http://bugs.freepascal.org/view.php?id=19748 –