XP 32 ビット OS でこのコードを使用して、%windir%\windows\system32
フォルダー パスを取得しています。
sysFolderPath = Environment.GetFolderPath(Environment.SpecialFolder.System)
私が知りたいのは%windir%\windows\syswow64
、Windows 7 (64/32 ビット) で使用すると、この同じコードがフォルダーを返すということです。
XP 32 ビット OS でこのコードを使用して、%windir%\windows\system32
フォルダー パスを取得しています。
sysFolderPath = Environment.GetFolderPath(Environment.SpecialFolder.System)
私が知りたいのは%windir%\windows\syswow64
、Windows 7 (64/32 ビット) で使用すると、この同じコードがフォルダーを返すということです。
64ビットバージョンのWindowsで実行される32ビットプログラムでも、c:\ windows\system32が返されます。これを修正しないでください。修正する必要はありません。そのパスを使用すると、Windowsは自動的にパスをc:\ windows\syswow64に再マップするためです。ファイルシステムリダイレクタがそれを処理します。
.NET 4.0を搭載したWindows7ボックスで試しました
このコード:
Console.WriteLine(Environment.GetFolderPath(Environment.SpecialFolder.System));
Console.WriteLine(Environment.GetFolderPath(Environment.SpecialFolder.SystemX86));
32 ビット プロセスと 64 ビット プロセスの両方から以下を出力します。
C:\Windows\system32
C:\Windows\SysWOW64
いいえ。私の Windows 7 64 ビット ボックスでは、x64 を対象としています。
C:\Windows\system32