<?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[x86 Program files bei x64]]></title><description><![CDATA[<p>Hallo,<br />
ich habe eine x86 Anwendung, die auf einem x64 Windows OS läuft. Nun möchte ich in dieser Anwendung den ProgramFiles-Pfad (also z.B. c:\Program Files\) herausfinden.</p>
<p>SHGetSpecialFolderPath(NULL,<br />
acProgramFilesFolder,<br />
CSIDL_PROGRAM_FILES,<br />
0)</p>
<p>gibt mir leider den ProgramFiles-Pfad (also z.B. c:\Program Files (x86)\). Gibt es da irgendeine andere CSIDL oder eine andere Methode, mit der ich den wirklichen, nativen Program Files Pfad herausfinde?</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/217843/x86-program-files-bei-x64</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Apr 2026 21:24:28 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/217843.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 12 Jul 2008 09:15:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to x86 Program files bei x64 on Sat, 12 Jul 2008 09:15:25 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich habe eine x86 Anwendung, die auf einem x64 Windows OS läuft. Nun möchte ich in dieser Anwendung den ProgramFiles-Pfad (also z.B. c:\Program Files\) herausfinden.</p>
<p>SHGetSpecialFolderPath(NULL,<br />
acProgramFilesFolder,<br />
CSIDL_PROGRAM_FILES,<br />
0)</p>
<p>gibt mir leider den ProgramFiles-Pfad (also z.B. c:\Program Files (x86)\). Gibt es da irgendeine andere CSIDL oder eine andere Methode, mit der ich den wirklichen, nativen Program Files Pfad herausfinde?</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1546065</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1546065</guid><dc:creator><![CDATA[blubby]]></dc:creator><pubDate>Sat, 12 Jul 2008 09:15:25 GMT</pubDate></item><item><title><![CDATA[Reply to x86 Program files bei x64 on Sat, 12 Jul 2008 09:42:04 GMT]]></title><description><![CDATA[<p><code>C:\Program Files (x86)</code> <em>ist</em> der &quot;wirkliche&quot; Programm-Pfad.</p>
<p>edit: Für 32-Bit-Programme ist der Programmpfad C:\Program Files (x86)\, für 64-Bit-Programme ist es C:\Program Files\. Was stört dich an dem x86-Pfad?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1546074</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1546074</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Sat, 12 Jul 2008 09:42:04 GMT</pubDate></item><item><title><![CDATA[Reply to x86 Program files bei x64 on Sat, 12 Jul 2008 10:06:42 GMT]]></title><description><![CDATA[<p>Das ist mir durchaus klar - aber ich möchte aus meiner x86-Anwendung einen neuen Prozess starten, und die Exe-Datei befindet sich eben im nativen x64-Program Files-Pfad.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1546086</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1546086</guid><dc:creator><![CDATA[blubby]]></dc:creator><pubDate>Sat, 12 Jul 2008 10:06:42 GMT</pubDate></item><item><title><![CDATA[Reply to x86 Program files bei x64 on Sat, 12 Jul 2008 11:17:55 GMT]]></title><description><![CDATA[<p>Anders herum geht es mit CSIDL_PROGRAM_FILESX86. Für Deinen Fall habe ich aber keine CSIDL gefunden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1546119</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1546119</guid><dc:creator><![CDATA[sri]]></dc:creator><pubDate>Sat, 12 Jul 2008 11:17:55 GMT</pubDate></item><item><title><![CDATA[Reply to x86 Program files bei x64 on Sat, 12 Jul 2008 11:25:48 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">DWORD oldValue;
Wow64DisableWow64FsRedirection(&amp;oldValue);
// Do whatever you want
// e.g. CreateProcess, SHGetSpecialFolgderPath, ...
Wow64RevertWow64FsRedirection(&amp;oldValue);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1546128</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1546128</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Sat, 12 Jul 2008 11:25:48 GMT</pubDate></item><item><title><![CDATA[Reply to x86 Program files bei x64 on Thu, 09 Oct 2008 12:08:21 GMT]]></title><description><![CDATA[<p>Jochen Kalmbach schrieb:</p>
<blockquote>
<pre><code class="language-cpp">DWORD oldValue;
Wow64DisableWow64FsRedirection(&amp;oldValue);
// Do whatever you want
// e.g. CreateProcess, SHGetSpecialFolgderPath, ...
Wow64RevertWow64FsRedirection(&amp;oldValue);
</code></pre>
</blockquote>
<p>Sorry das ich mich so spät melde, aber das funzt nicht. Es bleibt der x86 Ordner <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":\"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1596241</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1596241</guid><dc:creator><![CDATA[blubby]]></dc:creator><pubDate>Thu, 09 Oct 2008 12:08:21 GMT</pubDate></item><item><title><![CDATA[Reply to x86 Program files bei x64 on Thu, 09 Oct 2008 12:30:30 GMT]]></title><description><![CDATA[<p>Der &quot;richtigere&quot; Weg ist:<br />
FOLDERID_ProgramFilesX64<br />
Aber das wird Dir nicht sehr viel helfen, weil wenn Du den Pfad verwendest wird wieder der Redirector austomatisch eingreifen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>WAS willst Du denn überhaupt damit?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1596262</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1596262</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Thu, 09 Oct 2008 12:30:30 GMT</pubDate></item><item><title><![CDATA[Reply to x86 Program files bei x64 on Thu, 09 Oct 2008 12:47:41 GMT]]></title><description><![CDATA[<p>Jochen Kalmbach schrieb:</p>
<blockquote>
<p>Der &quot;richtigere&quot; Weg ist:<br />
FOLDERID_ProgramFilesX64<br />
Aber das wird Dir nicht sehr viel helfen, weil wenn Du den Pfad verwendest wird wieder der Redirector austomatisch eingreifen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>WAS willst Du denn überhaupt damit?</p>
</blockquote>
<p>Wie schon oben erwähnt, ich muss innerhalb meiner x86 Anwendung eine Anwendung aufrufen (per CreateProcess), welche im nativen ProgramFiles Ordner liegt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1596278</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1596278</guid><dc:creator><![CDATA[blubby]]></dc:creator><pubDate>Thu, 09 Oct 2008 12:47:41 GMT</pubDate></item><item><title><![CDATA[Reply to x86 Program files bei x64 on Thu, 09 Oct 2008 12:51:11 GMT]]></title><description><![CDATA[<p>Vielleicht gehts einfacher wenn Du eine Verknüpfung in Deinem x86-Ordner anlegst, Und Du rufst diese Verknüpfung auf?</p>
<p>Nicht sehr elegant, aber einfach umgesetzt</p>
<p>Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1596283</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1596283</guid><dc:creator><![CDATA[Mmacher]]></dc:creator><pubDate>Thu, 09 Oct 2008 12:51:11 GMT</pubDate></item><item><title><![CDATA[Reply to x86 Program files bei x64 on Thu, 09 Oct 2008 12:53:29 GMT]]></title><description><![CDATA[<p>Wär zwar eine Lösung, aber das kann ich leider nicht machen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":\"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1596286</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1596286</guid><dc:creator><![CDATA[blubby]]></dc:creator><pubDate>Thu, 09 Oct 2008 12:53:29 GMT</pubDate></item><item><title><![CDATA[Reply to x86 Program files bei x64 on Thu, 09 Oct 2008 13:05:11 GMT]]></title><description><![CDATA[<p>WIE startest Du denn den Process?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1596299</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1596299</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Thu, 09 Oct 2008 13:05:11 GMT</pubDate></item><item><title><![CDATA[Reply to x86 Program files bei x64 on Thu, 09 Oct 2008 13:40:08 GMT]]></title><description><![CDATA[<p>Jochen Kalmbach schrieb:</p>
<blockquote>
<p>WIE startest Du denn den Process?</p>
</blockquote>
<p>blubby schrieb:</p>
<blockquote>
<p>Wie schon oben erwähnt, ich muss innerhalb meiner x86 Anwendung eine Anwendung aufrufen (per <strong>CreateProcess</strong>), welche im nativen ProgramFiles Ordner liegt.</p>
</blockquote>
<p>?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1596302</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1596302</guid><dc:creator><![CDATA[blubby]]></dc:creator><pubDate>Thu, 09 Oct 2008 13:40:08 GMT</pubDate></item><item><title><![CDATA[Reply to x86 Program files bei x64 on Thu, 09 Oct 2008 13:49:47 GMT]]></title><description><![CDATA[<p>Also, hab es jetzt selber probiert: Vista x64-DE.</p>
<p>Folgendes Beispiel geht bei mir problemlos:</p>
<pre><code class="language-cpp">int _tmain()
{
  LPTSTR szCmd = _tcsdup(_T(&quot;C:\\Program Files\\Microsoft Games\\Chess\\Chess.exe&quot;));
  STARTUPINFO si;
  ZeroMemory(&amp;si, sizeof(si));
  si.cb = sizeof(si);
  PROCESS_INFORMATION pi;
  BOOL bRet = CreateProcess(NULL, szCmd, NULL, NULL, FALSE, 0, NULL, NULL, &amp;si, &amp;pi);
}
</code></pre>
<p>Sowohl als x64 als auch als x86!</p>
<p>Also, ich kann Dein Problem nicht ganz nachvollziehen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1596306</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1596306</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Thu, 09 Oct 2008 13:49:47 GMT</pubDate></item><item><title><![CDATA[Reply to x86 Program files bei x64 on Thu, 09 Oct 2008 14:03:21 GMT]]></title><description><![CDATA[<p>Mir ging es eigentlich nur darum, &quot;C:\\Program Files\&quot; auf portable Weise (hardcoded sieht das so unschön aus) innerhalb einer x86 applikation auf x64 os'es herauszufinden.</p>
<p>Naja, ich probier mal deine Lösung aus, wenn ich zuhause bin.</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1596321</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1596321</guid><dc:creator><![CDATA[blubby]]></dc:creator><pubDate>Thu, 09 Oct 2008 14:03:21 GMT</pubDate></item><item><title><![CDATA[Reply to x86 Program files bei x64 on Thu, 09 Oct 2008 14:04:04 GMT]]></title><description><![CDATA[<p>Das hatte ich doch geschrieben: FOLDERID_ProgramFilesX64</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1596322</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1596322</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Thu, 09 Oct 2008 14:04:04 GMT</pubDate></item><item><title><![CDATA[Reply to x86 Program files bei x64 on Thu, 09 Oct 2008 14:17:13 GMT]]></title><description><![CDATA[<p>Hmmm... ich hab es eben probiert... es scheint wohl ein Bug zu sein... es liefert FILE_NOT_FOUDN <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1596333</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1596333</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Thu, 09 Oct 2008 14:17:13 GMT</pubDate></item><item><title><![CDATA[Reply to x86 Program files bei x64 on Thu, 09 Oct 2008 15:21:26 GMT]]></title><description><![CDATA[<p>Kann ich bestätigen. Laut <a href="http://msdn.microsoft.com/en-us/library/bb762584.aspx" rel="nofollow">Doku</a> sollte bei FOLDERID_ProgramFilesX64 für 32-bit Anwendungen das x64-Verzeichnis zurückgegeben werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1596397</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1596397</guid><dc:creator><![CDATA[sri]]></dc:creator><pubDate>Thu, 09 Oct 2008 15:21:26 GMT</pubDate></item><item><title><![CDATA[Reply to x86 Program files bei x64 on Thu, 09 Oct 2008 15:47:07 GMT]]></title><description><![CDATA[<p><a href="http://msdn.microsoft.com/en-us/library/aa365743.aspx" rel="nofollow">wow wow</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1596416</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1596416</guid><dc:creator><![CDATA[wuff wuff]]></dc:creator><pubDate>Thu, 09 Oct 2008 15:47:07 GMT</pubDate></item><item><title><![CDATA[Reply to x86 Program files bei x64 on Thu, 09 Oct 2008 15:50:21 GMT]]></title><description><![CDATA[<p>Auch dein Gebell ändert nichts an dem Fehlverhalten...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1596420</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1596420</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Thu, 09 Oct 2008 15:50:21 GMT</pubDate></item><item><title><![CDATA[Reply to x86 Program files bei x64 on Thu, 09 Oct 2008 16:17:57 GMT]]></title><description><![CDATA[<p>Du kannst aber die Umgebungsvariable %ProgramW6432% verwenden!</p>
<p>Zumindest Folgendes Funktioniert bei mir Problemlos:</p>
<pre><code>&quot;%ProgramW6432%\Microsoft Games\Chess\Chess.exe&quot;
</code></pre>
<p>Also Folgendes geht bei mir als x86 problemlos:</p>
<pre><code class="language-cpp">void _tmain() 
{
  TCHAR *szCmd = new TCHAR[1024];
  DWORD dw = ExpandEnvironmentStrings(_T(&quot;%ProgramW6432%\\Microsoft Games\\Chess\\Chess.exe&quot;), szCmd, 1024);

  STARTUPINFO si;
  ZeroMemory(&amp;si, sizeof(si));
  si.cb = sizeof(si);
  PROCESS_INFORMATION pi;
  BOOL bRet = CreateProcess(NULL, szCmd, NULL, NULL, FALSE, 0, NULL, NULL, &amp;si, &amp;pi);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1596455</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1596455</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Thu, 09 Oct 2008 16:17:57 GMT</pubDate></item></channel></rss>