當前位置:
首頁 >
C# USB设备的管理(Devcon和注册表的USB操作)
發布時間:2025/3/11
34
豆豆
生活随笔
收集整理的這篇文章主要介紹了
C# USB设备的管理(Devcon和注册表的USB操作)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、關于 USB
最近對 USB 設備做了一些學習,簡單做一下整理,希望感興趣的同學留言交流,最后會附上源碼連接。
簡單列一些關鍵點:
VID:Vendor ID(生產廠商 ID),PID:Product ID(產品 ID)
【USB ID 詳細介紹可以參考】
【廠商設備 ID - List of USB ID’s】
二、關于 USB 磁盤信息
1、devcon 獲取信息
devcon 可通過兩個指令獲取 USB 信息:
1. devcon.exe find usb* //查看所有的 USB 設備信息 2. devcon.exe status usb* //查看所有 USB 設備狀態2、注冊表獲取 USB 設備信息
1. 查看所有 USB 存儲設備列表 計算機\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR\Enum2. 查看驅動器號 計算機\HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices3. 查看驅動器號和 USB 設備對照 計算機\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\STORAGE\Volume三、主要代碼
1、process 啟動和帶權限運行
/// <summary> /// 創建進程 /// </summary> /// <returns></returns> public static Process NewProcess(string exe, string args = "", string domain = "", string username = "", string password = "") {ProcessStartInfo startInfo = new ProcessStartInfo();if (Str.Ok(domain)) startInfo.Domain = domain;if (Str.Ok(username)) startInfo.UserName = username;if (Str.Ok(password)) startInfo.Password = ConvertToSecureString(password);startInfo.FileName = exe;startInfo.Arguments = args;startInfo.RedirectStandardInput = true;startInfo.RedirectStandardOutput = true;startInfo.RedirectStandardError = true;startInfo.UseShellExecute = false;startInfo.CreateNoWindow = true;startInfo.Verb = "RunAs";Process process = new Process();process.StartInfo = startInfo;return process; } /// <summary> /// 帶權限運行的密碼保密文本轉換 /// </summary> /// <param name="password"></param> /// <returns></returns> private static SecureString ConvertToSecureString(this string password) {if (password == null)throw new ArgumentNullException("password");unsafe{fixed (char* passwordChars = password){var securePassword = new SecureString(passwordChars, password.Length);securePassword.MakeReadOnly();return securePassword;}} }2、devcon 操作代碼
1. devcon.exe enable "USB\\VID_1234&PID_5678" //啟用 USB 設備 2. devcon.exe disable "USB\\VID_1234&PID_5678" //禁用 USB 設備四、程序截圖
五、代碼
CSDN源碼下載
總結
以上是生活随笔為你收集整理的C# USB设备的管理(Devcon和注册表的USB操作)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: net发布的dll方法和类显示注释信息(
- 下一篇: C# 调用IP库(QQWry.Dat)查