<?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[%ProgramFiles% - Verzeichnis auslesen.]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich versuche seit einiger Zeit vergebendst, das %ProgramFiles%-Verzeichnis auszulesen. Folgendes habe ich schon versucht, aber beide Versionen funktionieren nur unter Windows XP; unter 98 liefern Sie mir entweder einen leeren String oder Datenmüll:</p>
<pre><code class="language-cpp">char buffer[MAX_PATH];
LPITEMIDLIST iidl;
SHGetSpecialFolderLocation(0, CSIDL_PROGRAM_FILES, &amp;iidl);
SHGetPathFromIDList(iidl, buffer);
</code></pre>
<pre><code class="language-cpp">char buffer[MAX_PATH];
GetEnvironmentVariable(TEXT(&quot;ProgramFiles&quot;), buffer, sizeof(buffer));
</code></pre>
<p>Es ist wahrscheinlich nur eine Kleinigkeit, aber ich komme da nicht weiter. FAQ und Google haben mir nicht geholfen. Entweder stelle ich mich also mal wieder besonders doof an oder bin einfach nur blind <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/133062/programfiles-verzeichnis-auslesen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Jul 2026 16:26:05 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/133062.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 15 Jan 2006 10:00:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to %ProgramFiles% - Verzeichnis auslesen. on Sun, 15 Jan 2006 10:00:46 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich versuche seit einiger Zeit vergebendst, das %ProgramFiles%-Verzeichnis auszulesen. Folgendes habe ich schon versucht, aber beide Versionen funktionieren nur unter Windows XP; unter 98 liefern Sie mir entweder einen leeren String oder Datenmüll:</p>
<pre><code class="language-cpp">char buffer[MAX_PATH];
LPITEMIDLIST iidl;
SHGetSpecialFolderLocation(0, CSIDL_PROGRAM_FILES, &amp;iidl);
SHGetPathFromIDList(iidl, buffer);
</code></pre>
<pre><code class="language-cpp">char buffer[MAX_PATH];
GetEnvironmentVariable(TEXT(&quot;ProgramFiles&quot;), buffer, sizeof(buffer));
</code></pre>
<p>Es ist wahrscheinlich nur eine Kleinigkeit, aber ich komme da nicht weiter. FAQ und Google haben mir nicht geholfen. Entweder stelle ich mich also mal wieder besonders doof an oder bin einfach nur blind <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/966876</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/966876</guid><dc:creator><![CDATA[Reyx]]></dc:creator><pubDate>Sun, 15 Jan 2006 10:00:46 GMT</pubDate></item><item><title><![CDATA[Reply to %ProgramFiles% - Verzeichnis auslesen. on Sun, 15 Jan 2006 18:03:35 GMT]]></title><description><![CDATA[<p>Wenn Du schon TEXT verwendest, dann auch bitte anstelle &quot;char&quot; ein &quot;TCHAR&quot;!</p>
<p>Folgendes funktioniert bei mir Problemlos:</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;
#include &lt;tchar.h&gt;

int _tmain()
{
  TCHAR szBuffer[_MAX_PATH];
  GetEnvironmentVariable(_T(&quot;ProgramFiles&quot;), szBuffer, sizeof(szBuffer) / sizeof(TCHAR));
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/967355</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/967355</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Sun, 15 Jan 2006 18:03:35 GMT</pubDate></item><item><title><![CDATA[Reply to %ProgramFiles% - Verzeichnis auslesen. on Sun, 15 Jan 2006 18:43:57 GMT]]></title><description><![CDATA[<p>Gleiches Problem: Windows XP -&gt; Fehlerfrei; Win9x -&gt; Datenmüll <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Ich habe jetzt noch einmal nachgeguckt, und unter Windows 98 scheint es die Umgebungsvariable %ProgramFiles% gar nicht zu geben!? (Jedenfalls ist sie auf meinem Testsystem, Windows 98 Second Edition Blankinstallation, nicht gesetzt).<br />
Gibt es vielleicht einen Weg, den Ordner ohne die Umgebungsvariable heraus zu finden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/967391</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/967391</guid><dc:creator><![CDATA[Reyx]]></dc:creator><pubDate>Sun, 15 Jan 2006 18:43:57 GMT</pubDate></item><item><title><![CDATA[Reply to %ProgramFiles% - Verzeichnis auslesen. on Tue, 17 Jan 2006 12:25:34 GMT]]></title><description><![CDATA[<blockquote>
<p>Gibt es vielleicht einen Weg, den Ordner ohne die Umgebungsvariable heraus zu finden?</p>
</blockquote>
<p>CSIDL_PROGRAM_FILES_COMMON ist erst ab Windows ME bzw. nach Installation des Explorers in der Version 5.0 vorhanden. Für frühere Versionen von Windows gibt jedoch einen &quot;Nachrüstsatz&quot;, der mit der Funktion &quot;SHGetFolderPath&quot; in der frei verteilbaren shfolder.dll realisiert wird.<br />
Such mal im MSDN nach &quot;SHGetFolderPath&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/968819</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/968819</guid><dc:creator><![CDATA[emma-t]]></dc:creator><pubDate>Tue, 17 Jan 2006 12:25:34 GMT</pubDate></item></channel></rss>