I'm trying to find a file inside the system directory. The problem is that when using
Environment.SystemDirectory
On a x64 machine, i'm still getting the System32 directory, instead of the Systemwow64 directory.
I need to get the "System32" directory on x86 machines, and "SystemWow64" directory on x64
Any ideas?
EDIT: To find the SysWow64 i'm using the "GetSystemWow64Directory". (more information here: pinvoke Notice that on non-x64 machines - result is '0'. Hope this helps someone
EDIT(2): Using the SHGetSpecialFolderPath:
[DllImport("shell32.dll")]
public static extern bool SHGetSpecialFolderPath(IntPtr hwndOwner, [Out]StringBuilder lpszPath, int nFolder, bool fCreate);
string GetSystemDirectory()
{
StringBuilder path = new StringBuilder(260);
SHGetSpecialFolderPath(IntPtr.Zero,path,0x0029,false);
return path.ToString()
}
Will return System32 on x86, and SysWow64 on x64