<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=345349&amp;view=findpost&amp;p=3035202</guid>
        <pubDate>Wed, 30 Nov 2011 11:07:57 +0000</pubDate>
        <title>Получить иконку с помощью IExtractIcon</title>
        <link>https://forum.sources.ru/index.php?showtopic=345349&amp;view=findpost&amp;p=3035202</link>
        <description><![CDATA[Krid: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=345349&view=findpost&p=3029495'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Fr0sT &#064; <time class="tag-quote__quoted-time" datetime="2011-11-21T10:26:48+04:00">21.11.11, 06:26</time></span><div class='quote '>Failed, Succeeded - ? </div></div><br>
uses Windows :)]]></description>
        <author>Krid</author>
        <category>Системные функции, WinAPI, работа с железом</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=345349&amp;view=findpost&amp;p=3029495</guid>
        <pubDate>Mon, 21 Nov 2011 06:26:48 +0000</pubDate>
        <title>Получить иконку с помощью IExtractIcon</title>
        <link>https://forum.sources.ru/index.php?showtopic=345349&amp;view=findpost&amp;p=3029495</link>
        <description><![CDATA[Fr0sT: Failed, Succeeded - ?]]></description>
        <author>Fr0sT</author>
        <category>Системные функции, WinAPI, работа с железом</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=345349&amp;view=findpost&amp;p=3029393</guid>
        <pubDate>Sun, 20 Nov 2011 19:13:17 +0000</pubDate>
        <title>Получить иконку с помощью IExtractIcon</title>
        <link>https://forum.sources.ru/index.php?showtopic=345349&amp;view=findpost&amp;p=3029393</link>
        <description><![CDATA[Krid: <div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">uses Windows,ShlObj;</div><div class="code_line">&nbsp;</div><div class="code_line">function EGGetIcon(FileName:PChar; iconSize:Integer):HICON;</div><div class="code_line">var</div><div class="code_line">&nbsp;tmpIcon:HICON;</div><div class="code_line">&nbsp;deskFolder,appObject:IShellFolder;</div><div class="code_line">&nbsp;pidlLocal, pidlRelative: PItemIDList;</div><div class="code_line">&nbsp;extractIcon:IExtractIcon;</div><div class="code_line">&nbsp;iconLocation:array[0..MAX_PATH-1] of Char;</div><div class="code_line">&nbsp;iconIndex:integer;</div><div class="code_line">&nbsp;pchEaten,dwAttrib,iconFlags:Cardinal;</div><div class="code_line">&nbsp;hr:HRESULT;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp; Result:=0;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; if FAILED(SHGetDesktopFolder(deskFolder)) then exit;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; if FAILED(deskFolder.ParseDisplayName(0, nil, FileName, pchEaten, pidlLocal, dwAttrib)) then exit;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; pidlRelative := ILClone(ILFindLastID(pidlLocal));</div><div class="code_line">&nbsp;&nbsp; ILRemoveLastID(pidlLocal);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; hr := deskFolder.BindToObject(pidlLocal, nil, IID_IShellFolder, appObject);</div><div class="code_line">&nbsp;&nbsp; ILFree(pidlLocal);</div><div class="code_line">&nbsp;&nbsp; if FAILED(hr) then exit;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; hr := appObject.GetUIObjectOf(0, 1, pidlRelative, IID_IExtractIconW, nil,extractIcon);</div><div class="code_line">&nbsp;&nbsp; ILFree(pidlRelative);</div><div class="code_line">&nbsp;&nbsp; if FAILED(hr) then exit;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; if FAILED(extractIcon.GetIconLocation(0, iconLocation, MAX_PATH, iconIndex, iconFlags)) then exit;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; if (iconSize = 16) then</div><div class="code_line">&nbsp;&nbsp; &nbsp;hr := extractIcon.Extract(iconLocation, iconIndex, tmpIcon, Result, MAKELONG(32, 16))</div><div class="code_line">&nbsp;&nbsp; else</div><div class="code_line">&nbsp;&nbsp; &nbsp;hr := extractIcon.Extract(iconLocation, iconIndex, Result, tmpIcon, MAKELONG(iconSize, 16));</div><div class="code_line">&nbsp;&nbsp; if SUCCEEDED(hr) then DestroyIcon(tmpIcon);</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure TForm1.Button1Click(Sender: TObject);</div><div class="code_line">var</div><div class="code_line">&nbsp;icon:HICON;</div><div class="code_line">begin</div><div class="code_line">&nbsp;icon:=EGGetIcon(&#39;C:\WINDOWS\MEDIA\ding.wav&#39;,32);</div><div class="code_line">&nbsp;Image1.Picture.Icon.Handle:=icon</div><div class="code_line">end;</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script>]]></description>
        <author>Krid</author>
        <category>Системные функции, WinAPI, работа с железом</category>
      </item>
	
      </channel>
      </rss>
	