Problem mit dem Windows/Systemverzeichnis

26/07/2008 - 00:58 von Ingo Manthey | Report spam
Hallo NG,

ich habe folgendes Problem.
Mir System.Enviremonet.GetFolderPath(System.Enviroment.SpecialFolder.System)
bekomme ich leider bei einem 64Bit System.
Windows/System32 zurück und nicht Windows/SysWOW64.

Nun meine Frage wie bekomme ich das Verzeichnis Windows/SysWOW64 unter 64
Bit und das Verzeichnis Windows/System32 bei 32 Bit Systmen?

Danke für jeden Tipp.

Grüße Ingo
 

Lesen sie die antworten

#1 Frank Dzaebel
26/07/2008 - 09:19 | Warnen spam
Hallo Ingo,

Mir
System.Enviremonet.GetFolderPath(System.Enviroment.SpecialFolder.System)
bekomme ich leider bei einem 64Bit System.
Windows/System32 zurück und nicht Windows/SysWOW64.



ja, bekannt.

Nun meine Frage wie bekomme ich das Verzeichnis Windows/SysWOW64 unter 64
Bit und das Verzeichnis Windows/System32 bei 32 Bit Systemen?



Probiere mal folgendes (ungeprüft) :

[DllImport("Kernel32.dll", SetLastError = true, CharSet = CharSet.Auto)]
public static extern int GetSystemWow64Directory(
[MarshalAs(UnmanagedType.LPStr, SizeConst = 256)]
[In, Out] StringBuilder lpBuffer,
[MarshalAs(UnmanagedType.U4)] uint size);

public static string GetSystemDirectory()
{
StringBuilder path = new StringBuilder(256);
int result = GetSystemWow64Directory(path, (uint)path.Length);
if (path.Length != 0) return path.ToString();
return Environment.GetFolderPath(Environment.SpecialFolder.System);
}

private void Form1_Load(object sender, EventArgs e)
{
MessageBox.Show(GetSystemDirectory());
}


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen