czhiはwindows api関数を使用しないで、私のコンピュータを開けて、コンピュータドライバの情報を取得します。
2960 ワード
マイコンピュータ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アプリでも手に入れることができます。この方法がもっと好きです。