czhiはwindows api関数を使用しないで、私のコンピュータを開けて、コンピュータドライバの情報を取得します。


マイコンピュータSystem.Diagnostics.Process.Startを開けます。
第二のパラメータは、完全なパスであってもよい。
レジストリを調べて入手したいくつかの完全な経路例:

public string GetWindowsPath(string path)
        {
            RegistryKey folders;
            folders = OpenRegistryPath(Registry.CurrentUser, @"\software\microsoft\windows\currentversion\explorer\shell folders");
            return folders.GetValue(path).ToString();
        }
private RegistryKey OpenRegistryPath(RegistryKey root, string s)
        {
            s = s.Remove(0, 1) + @"\";
            while (s.IndexOf(@"\") != -1)
            {
                root = root.OpenSubKey(s.Substring(0, s.IndexOf(@"\")));
                s = s.Remove(0, s.IndexOf(@"\") + 1);
            }
            return root;
        }


//
GetWindowsPath(" ");

キーワードとしては、例えばWindowsユーザーのデスクトップパス、Windowsユーザのフォントディレクトリパス、Windowsユーザのネットワークの隣のパス(Nethood)、Windowsユーザの私のドキュメントパス(Personal)…
具体的にはレジストリの中を探します。
 以上は直接に私のコンピュータを開く方法です。もちろん直接に私のコンピュータのドライバを取得することもできます。方法は以下の通りです。

DriveInfo[] allDrives = DriveInfo.GetDrives();

foreach (DriveInfo d in allDrives)
{

messagebox.show(d.RootDirectory.FullName+" DriveInfo ");
messagebox.show( +DriveTypeToCH(d.DriveType.ToString()));

}

ここでスターターのタイプについて話します。

#region
        /// <summary>
        ///
        /// </summary>
        /// <param name="_String"></param>
        /// <returns></returns>
        private string DriveTypeToCH(string _String)
        {
            string ToCh = "";
            switch (_String.ToLower())
            {
                case "unknown":
                    ToCh = " ";
                    break;
                case "removable":
                    ToCh = " ";
                    break;
                case "fixed":
                    ToCh = " ";
                    break;
                case "network":
                    ToCh = " ";
                    break;
                case "cdrom":
                    ToCh = "CD-ROM";
                    break;
                case "ram":
                    ToCh = "RAM ";
                    break;
                case "norootdirectory":
                    ToCh = "";
                    break;
                default:
                    break;
            }
            return ToCh;
        }
        #endregion
windowsアプリでも手に入れることができます。この方法がもっと好きです。