c#不使用windows api函數(shù)打開(kāi)我的電腦和獲取電腦驅(qū)動(dòng)器信息
打開(kāi)我的電腦
System.Diagnostics.Process.Start("explorer.exe", "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}");
第二個(gè)參數(shù)也可為完整路徑,
通過(guò)查詢(xún)注冊(cè)表拿到的一些完整路徑例子:
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;
}
//調(diào)用
GetWindowsPath("關(guān)鍵字");
關(guān)鍵字比如:Windows用戶(hù)桌面路徑(Desktop),Windows用戶(hù)字體目錄路徑(Fonts),Windows用戶(hù)網(wǎng)絡(luò)鄰居路徑(Nethood),Windows用戶(hù)我的文檔路徑(Personal)...
具體的在注冊(cè)表里面查找.
以上是直接打開(kāi)我的電腦的方法,當(dāng)然也可以直接獲取我的電腦的驅(qū)動(dòng)器,方法如下:
DriveInfo[] allDrives = DriveInfo.GetDrives();
foreach (DriveInfo d in allDrives)
{
messagebox.show(d.RootDirectory.FullName+"啟動(dòng)器所有信息在DriveInfo對(duì)象里都能找到");
messagebox.show(驅(qū)動(dòng)器的類(lèi)型+DriveTypeToCH(d.DriveType.ToString()));
}
這里就要說(shuō)到啟動(dòng)器的類(lèi)型了
#region 驅(qū)動(dòng)類(lèi)型轉(zhuǎn)換
/// <summary>
/// 驅(qū)動(dòng)類(lèi)型轉(zhuǎn)換
/// </summary>
/// <param name="_String"></param>
/// <returns></returns>
private string DriveTypeToCH(string _String)
{
string ToCh = "";
switch (_String.ToLower())
{
case "unknown":
ToCh = "其它";
break;
case "removable":
ToCh = "移動(dòng)設(shè)備";
break;
case "fixed":
ToCh = "硬盤(pán)";
break;
case "network":
ToCh = "網(wǎng)絡(luò)硬盤(pán)";
break;
case "cdrom":
ToCh = "CD-ROM";
break;
case "ram":
ToCh = "RAM磁盤(pán)";
break;
case "norootdirectory":
ToCh = "";
break;
default:
break;
}
return ToCh;
}
#endregion
也可以通過(guò)windows api得到,我還是更喜歡這種方法
- C# Windows API應(yīng)用之基于FlashWindowEx實(shí)現(xiàn)窗口閃爍的方法
- C#獲取進(jìn)程的主窗口句柄的實(shí)現(xiàn)方法
- C#實(shí)現(xiàn)利用Windows API讀寫(xiě)INI文件的方法
- C#中調(diào)用Windows API的技術(shù)要點(diǎn)說(shuō)明
- C#調(diào)用windows api關(guān)機(jī)(關(guān)機(jī)api)示例代碼分享
- c#調(diào)用api控制windows關(guān)機(jī)示例(可以重啟/注銷(xiāo))
- C#中隱式運(yùn)行CMD命令行窗口的方法
- C# WinForm中禁止改變窗口大小的方法
- C# Winform中實(shí)現(xiàn)主窗口打開(kāi)登錄窗口關(guān)閉的方法
- C# WinForm窗口最小化到系統(tǒng)托盤(pán)
- 解決C#獲取鼠標(biāo)相對(duì)當(dāng)前窗口坐標(biāo)的實(shí)現(xiàn)方法
- C# Winform 讓整個(gè)窗口都可以拖動(dòng)
- C# Windows API應(yīng)用之基于GetDesktopWindow獲得桌面所有窗口句柄的方法
相關(guān)文章
C#?使用EntityFramework?CodeFirst?創(chuàng)建PostgreSQL數(shù)據(jù)庫(kù)的詳細(xì)過(guò)程
這篇文章主要介紹了C#使用EntityFramework?CodeFirst創(chuàng)建PostgreSQL數(shù)據(jù)庫(kù)的過(guò)程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07C#?WPF實(shí)現(xiàn)播放音頻文件的示例詳解
這篇文章主要為大家詳細(xì)介紹了利用C#?WPF實(shí)現(xiàn)播放音頻文件的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-03-03C#調(diào)用mmpeg進(jìn)行各種視頻轉(zhuǎn)換的類(lèi)實(shí)例
這篇文章主要介紹了C#調(diào)用mmpeg進(jìn)行各種視頻轉(zhuǎn)換的類(lèi),實(shí)例分析了C#調(diào)用mmpeg操作視頻文件的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-03-03在Framework 4.0中:找出新增的方法與新增的類(lèi)(一)
經(jīng)??吹接型瑢W(xué)在討論Framework 4 的新特性,新方法,于是想寫(xiě)個(gè)程序找出framework4.0中新增的方法和類(lèi)2013-05-05C#實(shí)現(xiàn)虛擬鍵盤(pán)的實(shí)例詳解
這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)虛擬鍵盤(pán),文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下2022-12-12C#環(huán)形隊(duì)列的實(shí)現(xiàn)方法詳解
這篇文章先是簡(jiǎn)單的給大家介紹了什么是環(huán)形隊(duì)列和環(huán)形隊(duì)列的優(yōu)點(diǎn),然后通過(guò)實(shí)例代碼給大家介紹C#如何實(shí)現(xiàn)環(huán)形隊(duì)列,有需要的朋友們可以參考借鑒,下面來(lái)一起看看吧。2016-09-09