Вы - более обеспеченное чтение из переменной среды SystemRoot вместо того, чтобы использовать Windows API call. Попробовать string WindowsDir = System.Environment.GetEnvironmentVariable ("SystemRoot");
и посмотрите, как Вы продолжаете его.
Если Вы звоните из собственного кода char *WindowsDir = getenv ("SystemRoot");
то, что Вы хотите.