<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Problem mit SHFILEINFO Funktion]]></title><description><![CDATA[<p>Hallo,</p>
<p>bin recht neu hier in dem Forum und möchte zuerst einmal alle Begrüßen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Habe ein Problem mit der WINAPI-Funktion SHFILEINFO, bei der ich nicht weiterkomme.</p>
<p>Und zwar habe ich folgende Funktion, zum auslesen des aktuellen Dateiicons, geschrieben:</p>
<pre><code class="language-cpp">int	SetIcon()
{

	SHFILEINFO sfi;
	ZeroMemory(&amp;sfi, sizeof(SHFILEINFO));

	SHGetFileInfo(
		&quot;Test.xls&quot;, 
		FILE_ATTRIBUTE_NORMAL, 
		&amp;sfi, 
		sizeof(sfi), 
		SHGFI_USEFILEATTRIBUTES|SHGFI_ICON|SHGFI_SMALLICON);

	if (sfi.hIcon)
	{
		return 1;
	}

	return -1;
}
</code></pre>
<p>Also im Beispiel habe ich einfach Test.xls als die jeweilige Datei eingefügt.</p>
<p>Rufe ich nun die folgende Funktion z.B. 10.000 x auf können meine Fenster nicht mehr richtig angezeigt werden. Das Problem tritt hierbei jedoch nur bei den FLAGS: SHGFI_ICON|SHGFI_SMALLICON auf. Lasse ich diese weg funktioniert alles tadellos (aber dann habe ich ja keine icons...).</p>
<p>Jemand eine Ahnung an was es liegen könnte?<br />
Gibt es eine andere Möglichkeit an die von Windows Standardmäßig angezeigten Icons zu kommen?</p>
<p>Bin für jede Hilfe dankbar und hoffe das schon mal jemand das gleiche Problem hatte und mir weiterhelfen kann.</p>
<p>Gruß<br />
Daniel</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/123613/problem-mit-shfileinfo-funktion</link><generator>RSS for Node</generator><lastBuildDate>Mon, 06 Jul 2026 23:55:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/123613.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 18 Oct 2005 13:55:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit SHFILEINFO Funktion on Tue, 18 Oct 2005 13:55:16 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>bin recht neu hier in dem Forum und möchte zuerst einmal alle Begrüßen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Habe ein Problem mit der WINAPI-Funktion SHFILEINFO, bei der ich nicht weiterkomme.</p>
<p>Und zwar habe ich folgende Funktion, zum auslesen des aktuellen Dateiicons, geschrieben:</p>
<pre><code class="language-cpp">int	SetIcon()
{

	SHFILEINFO sfi;
	ZeroMemory(&amp;sfi, sizeof(SHFILEINFO));

	SHGetFileInfo(
		&quot;Test.xls&quot;, 
		FILE_ATTRIBUTE_NORMAL, 
		&amp;sfi, 
		sizeof(sfi), 
		SHGFI_USEFILEATTRIBUTES|SHGFI_ICON|SHGFI_SMALLICON);

	if (sfi.hIcon)
	{
		return 1;
	}

	return -1;
}
</code></pre>
<p>Also im Beispiel habe ich einfach Test.xls als die jeweilige Datei eingefügt.</p>
<p>Rufe ich nun die folgende Funktion z.B. 10.000 x auf können meine Fenster nicht mehr richtig angezeigt werden. Das Problem tritt hierbei jedoch nur bei den FLAGS: SHGFI_ICON|SHGFI_SMALLICON auf. Lasse ich diese weg funktioniert alles tadellos (aber dann habe ich ja keine icons...).</p>
<p>Jemand eine Ahnung an was es liegen könnte?<br />
Gibt es eine andere Möglichkeit an die von Windows Standardmäßig angezeigten Icons zu kommen?</p>
<p>Bin für jede Hilfe dankbar und hoffe das schon mal jemand das gleiche Problem hatte und mir weiterhelfen kann.</p>
<p>Gruß<br />
Daniel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/895167</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/895167</guid><dc:creator><![CDATA[DanielG]]></dc:creator><pubDate>Tue, 18 Oct 2005 13:55:16 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit SHFILEINFO Funktion on Tue, 18 Oct 2005 13:57:23 GMT]]></title><description><![CDATA[<p>Aus der MSDN Library:</p>
<blockquote>
<p>If SHGetFileInfo returns an icon handle in the hIcon member of the SHFILEINFO structure pointed to by psfi, you are responsible for freeing it with DestroyIcon when you no longer need it.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/895170</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/895170</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Tue, 18 Oct 2005 13:57:23 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit SHFILEINFO Funktion on Tue, 18 Oct 2005 14:44:04 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>danke für die schnelle Antwort.</p>
<p>Wenn ich mit DestroyIcon meine Handles &quot;aufräume&quot; tritt der Fehler nicht mehr auf.<br />
Aber da ich eine Auflistung mit über 1000 Dateien anzeigen will, bräuchte ich über 1000 Handles.</p>
<p>Bin noch recht neu in der WINAPI, bin also nicht ganz 100% vertraut damit wie man handles am besten einsetzt...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/895211</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/895211</guid><dc:creator><![CDATA[DanielG]]></dc:creator><pubDate>Tue, 18 Oct 2005 14:44:04 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit SHFILEINFO Funktion on Tue, 18 Oct 2005 22:34:19 GMT]]></title><description><![CDATA[<p>Hab mir deinen Code nicht genau angeschaut, aber vielleicht hilft dir <a href="http://www.catch22.net/tuts/sysimg.asp" rel="nofollow">das hier</a> weiter?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/895693</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/895693</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Tue, 18 Oct 2005 22:34:19 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit SHFILEINFO Funktion on Wed, 19 Oct 2005 06:52:27 GMT]]></title><description><![CDATA[<p>Ja, ist ein sehr guter Beitra. Danke.</p>
<p>Falls noch weitere Probleme auftreten sollten, nachdem ich das Tutorial umgesetzt habe melde ich mich nochmals.<br />
Danke für eure Hilfe. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/895783</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/895783</guid><dc:creator><![CDATA[DanielG]]></dc:creator><pubDate>Wed, 19 Oct 2005 06:52:27 GMT</pubDate></item></channel></rss>