Одна вещь, которую я на самом деле, возможно, неправильно понимаю, это то, что вам нужен системный диск, но с помощью «windir» вы получите папку windows. Поэтому, если вам нужен безопасный способ , чтобы получить папку Windows, вы должны использовать старую старую функцию API GetWindowsDirectory.
Вот функция, подготовленная для использования на C #. ; -)
[DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Auto)]
static extern uint GetWindowsDirectory(StringBuilder lpBuffer, uint uSize);
private string WindowsDirectory()
{
uint size = 0;
size = GetWindowsDirectory(null, size);
StringBuilder sb = new StringBuilder((int)size);
GetWindowsDirectory(sb, size);
return sb.ToString();
}
Так что, если вам действительно нужен диск, на котором работает Windows, вы можете потом позвонить
System.IO.Path.GetPathRoot(WindowsDirectory());