怎样得到u盘或者是移动硬盘的ITEMIDLIST! 在线等~~~~~大家帮帮忙~~~` 我现在想得到a盘和usb接口上的u盘或者是移动硬盘的ITEMIDLIST,请问哪为高手知道怎么得到?或者直接把一个usb接口上的u盘或者是移动硬盘转换成IDropTarget类型也可以~~~谢谢各位~~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 您可以通过查询WMI对象来获取驱动器类型。下面是一段例子代码: SelectQuery query=new SelectQuery("Select * From Win32_LogicalDisk"); ManagementObjectSearcher searcher=new ManagementObjectSearcher(query); foreach(ManagementBaseObject disk in searcher.Get()) { this.textBox1.Text+="\r\n"+disk["Name"]+" "+disk["DriveType"]; }这段代码在我的计算机上的执行结果如下:C: 3D: 5E: 2Q: 4R: 4S: 4T: 4U: 4V: 4W: 4X: 4Y: 4其中各个数字代表的意义如下:1 No type 2 Floppy disk 3 Hard disk 4 Removable drive or network drive 5 CD-ROM 6 RAM disk 这样就可以得知各个驱动器的类型,例如C:是本地硬盘,D:是CD-ROM(实际上是一个DVD/CD-R Combo),而从Q:往后都是网络硬盘。 呵呵,发现自己确实进步了,看到这个问题知道可以使用WMI,本来想进来现一下的发现有高手在,呵呵,学习。 这个方法我用过啊~~~`但是itemidlist得不到,我本来用pdesktop.ParseDisplayName(IntPtr.Zero,IntPtr.Zero,"h:\\",0,out pidl,ref pdwAttributes);(注:h:是u盘)但是在后面的psf.GetUIObjectOf(IntPtr.Zero,1,pidlarray,SendToClass.ShellGUIDs.IID_IDropTarget,ref iref,out ipdt);这个函数时出错了。输入的参数是ParseDisplayName得到的itmeidlist返回的却是空值,我郁闷ing~~~~~~~~~` To: bitsbird(一瓢 闭关)U盘会被认成本地硬盘(3) C# SerialPort COM1 读数据 innertext的\转意字符 省市级联菜单联动 我人品不好,我有错,为什么好好的一个MethodInvoker在我手里就卡死了呢? winform 下怎么实现一个自动发邮件功能? 我有一个中文的字符串,我想调用某个函数就能把这段中文翻译成英文,有谁做过? VC#中如何获取子菜单在父菜单中的索引位置? 在C#窗体中怎么调用微软自带的播放器 Label刷新问题 再次提问:狂送分100,不够再送!!! 怎样让html控件<select>为多条选中状态! 打包的问题多多,,,顶者有粪。
ManagementObjectSearcher searcher=new ManagementObjectSearcher(query); foreach(ManagementBaseObject disk in searcher.Get())
{
this.textBox1.Text+="\r\n"+disk["Name"]+" "+disk["DriveType"];
}这段代码在我的计算机上的执行结果如下:C: 3
D: 5
E: 2
Q: 4
R: 4
S: 4
T: 4
U: 4
V: 4
W: 4
X: 4
Y: 4其中各个数字代表的意义如下:1 No type
2 Floppy disk
3 Hard disk
4 Removable drive or network drive
5 CD-ROM
6 RAM disk 这样就可以得知各个驱动器的类型,例如C:是本地硬盘,D:是CD-ROM(实际上是一个DVD/CD-R Combo),而从Q:往后都是网络硬盘。