C#代码 判断磁盘是不是U盘
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSy...
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
using Microsoft.Win32;
namespace UpData
{
public partial class FindUsb
{
[DllImport("kernel32")]
public FindUsb()
{
String[] logicDrivers = Environment.GetLogicalDrives(); ///返回驱动器名字
Console.WriteLine(String.Join(", ", logicDrivers));
int i=0;
for(;i< logicDrivers.Length;i++)
{
switch (GetDriveType(logicDrivers[i]))
{
case 3:
Console.WriteLine("root");
continue ;
case 5:
Console.WriteLine("CD");
continue;
case 2:
Console.WriteLine("USB");
continue;
default:
Console.WriteLine("unknown");
continue;
}
}
}
}
}
代码如上,现在VS报错:
错误 1 属性“DllImport”在该声明类型中无效。它只在“method”声明中有效。
错误 2 当前上下文中不存在名称“GetDriveType”
请教,这是什么问题?该如何解决? 展开
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
using Microsoft.Win32;
namespace UpData
{
public partial class FindUsb
{
[DllImport("kernel32")]
public FindUsb()
{
String[] logicDrivers = Environment.GetLogicalDrives(); ///返回驱动器名字
Console.WriteLine(String.Join(", ", logicDrivers));
int i=0;
for(;i< logicDrivers.Length;i++)
{
switch (GetDriveType(logicDrivers[i]))
{
case 3:
Console.WriteLine("root");
continue ;
case 5:
Console.WriteLine("CD");
continue;
case 2:
Console.WriteLine("USB");
continue;
default:
Console.WriteLine("unknown");
continue;
}
}
}
}
}
代码如上,现在VS报错:
错误 1 属性“DllImport”在该声明类型中无效。它只在“method”声明中有效。
错误 2 当前上下文中不存在名称“GetDriveType”
请教,这是什么问题?该如何解决? 展开
4个回答
展开全部
using System.IO;
DriveInfo[] drive = DriveInfo.GetDrives();
for (int i = 0; i < drive.Length;i++ )
{
if (drive[i].IsReady)
{
drive[i].Name //名称
drive[i].TotalSize //大小
drive[i].TotalFreeSpace //剩余空间
}
}
DriveInfo[] drive = DriveInfo.GetDrives();
for (int i = 0; i < drive.Length;i++ )
{
if (drive[i].IsReady)
{
drive[i].Name //名称
drive[i].TotalSize //大小
drive[i].TotalFreeSpace //剩余空间
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace WindowsApplication3
{
public class FindUSB
{
public static List<String> FindUSBDriver()
{
List<String> driverList = new List<string>();
DriveInfo[] myAllDrives = DriveInfo.GetDrives();
foreach (DriveInfo myDrive in myAllDrives) {
if (myDrive.IsReady) {
if (myDrive.DriveType == DriveType.Removable) {
driverList.Add(myDrive.Name);
}
}
}
return driverList;
}
}
}
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace WindowsApplication3
{
public class FindUSB
{
public static List<String> FindUSBDriver()
{
List<String> driverList = new List<string>();
DriveInfo[] myAllDrives = DriveInfo.GetDrives();
foreach (DriveInfo myDrive in myAllDrives) {
if (myDrive.IsReady) {
if (myDrive.DriveType == DriveType.Removable) {
driverList.Add(myDrive.Name);
}
}
}
return driverList;
}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
[DllImport("kernel32.dll")]
追问
不好意思,这样改了,错误提示还是一模一样的....
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要声明你引用了哪个DLL好像。。。
追问
using System.Runtime.InteropServices;
不是声明了么?不对吗?要怎么弄?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询