關於 外接式存取裝置 問題 |
尚未結案
|
wolfling
初階會員 發表:5 回覆:20 積分:25 註冊:2007-10-05 發送簡訊給我 |
各位先進大家好 小弟近來寫程式遇到一個問題 假如 我電腦上同時插上了許多外接存取裝置(如USB外接硬碟 隨身碟 SD卡 等諸如此類) 這時我要如何去尋找這接裝置
爬文時看的似乎用 GetDriveType(disk) 這個API 但是僅能得到某一個磁碟區(如C:)是 另外DeviceIoControl 這個API 似乎都回傳給我一個數值 我希望得到的是 某一個磁碟區 是什麼樣的裝置(如C:是USB外接式硬碟 ,D:是1394外接式硬碟 ,E:是SD卡,F:是CF卡 諸如此類) 請問我該怎麼著手做呢 (PS:這麼做 我是想測試 快速的檢驗各個接卡是否正確 以前是一次放一種(使用GetDriveType) 但是這樣耗費時間太長)
------
work hard bring success |
wolfling
初階會員 發表:5 回覆:20 積分:25 註冊:2007-10-05 發送簡訊給我 |
小弟參考了一些文章 發現WMI這著東西 可以讀取到這些資訊
我目前有使用了C#可以直接得到這些磁碟資訊 但是BCB上要使用WMI似乎 很麻煩 但是小弟 目前用BCB用的比較順手 想用BCB寫的話 不知道有沒有其他方法呢 各位大大 有空的話 可以幫忙解一下嗎 以下是C#的程式碼 不知道有沒有大大可以用BCB寫出來>< private void Form1_Load(object sender, EventArgs e) { //取得磁碟及標籤 ManagementObjectSearcher pObj = new ManagementObjectSearcher("select * from Win32_LogicalDiskToPartition"); foreach (ManagementObject p in pObj.Get()) { object dependent = p["Dependent"]; object antecedent = p["Antecedent"]; textBox1.AppendText(dependent.ToString() "\r\n"); textBox1.AppendText(antecedent.ToString() "\r\n"); } //取得類型 ManagementObjectSearcher xObj = new ManagementObjectSearcher("select * from Win32_DiskDrive"); foreach (ManagementObject q in xObj.Get()) { object interfacetype = q["InterfaceType"]; textBox1.AppendText(interfacetype.ToString() "\r\n"); } }
------
work hard bring success
編輯記錄
wolfling 重新編輯於 2008-01-08 11:40:51, 註解 無‧
|
wolfling
初階會員 發表:5 回覆:20 積分:25 註冊:2007-10-05 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |