检测U盘插入并自动复制U盘里文件到D盘 C#源码

fjj00 2010-03-03 07:11:32
各位高手帮帮这个怎样做,检测U盘插入并自动复制U盘里文件到D盘的源码
1.功能检测U盘
2.把U盘的文件COPY到硬盘
大体就是这样的
...全文
3677 55 打赏 收藏 转发到动态 举报
写回复
用AI写文章
55 条回复
切换为时间正序
请发表友善的回复…
发表回复
gaoyidi2012 2012-05-13
  • 打赏
  • 举报
回复
给大家写一个检测U盘的代码吧,小生初出茅庐,敬请宽容。亲测可用


using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
DriveInfo[] dr = DriveInfo.GetDrives();
foreach (DriveInfo di in dr)
{
print(di);
}
Console.Read();
}
static void print(DriveInfo di)
{
if (di.DriveType == DriveType.Removable)
{
Console.WriteLine("可移动磁盘为"+ di.Name);
if (di.IsReady)
{
Console.WriteLine("卷标名称为:{0}", di.VolumeLabel);
Console.WriteLine("可用空间为:{0}", di.AvailableFreeSpace);
Console.WriteLine("驱动器文件系统格式:{0}", di.DriveFormat);
Console.WriteLine("驱动器类型:{0}", di.DriveType);
}
}
else
{
if (di.DriveType == DriveType.Fixed)
{
Console.WriteLine("{0}是本地磁盘。",di.Name);
}


}




}


}
}

  • 打赏
  • 举报
回复
using MTClient.Utility;找不到呀
win__wentworth 2011-11-11
  • 打赏
  • 举报
回复
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Configuration;
using MTClient.Utility;
using System.Threading;
namespace UDiskMonitor
{
publicpartialclass MainForm : Form
{
bool isCopy=false;
bool isCopyEnd=false;
string targetdir=null;
publicconstint WM_DEVICECHANGE=0x219;
publicconstint DBT_DEVICEARRIVAL=0x8000;
publicconstint DBT_CONFIGCHANGECANCELED=0x0019;
publicconstint DBT_CONFIGCHANGED=0x0018;
publicconstint DBT_CUSTOMEVENT=0x8006;
publicconstint DBT_DEVICEQUERYREMOVE=0x8001;
publicconstint DBT_DEVICEQUERYREMOVEFAILED=0x8002;
publicconstint DBT_DEVICEREMOVECOMPLETE=0x8004;
publicconstint DBT_DEVICEREMOVEPENDING=0x8003;
publicconstint DBT_DEVICETYPESPECIFIC=0x8005;
publicconstint DBT_DEVNODES_CHANGED=0x0007;
publicconstint DBT_QUERYCHANGECONFIG=0x0017;
publicconstint DBT_USERDEFINED=0xFFFF;
public MainForm()
{
InitializeComponent();
}privatevoid MainForm_Load(object sender, EventArgs e)
{

}privatevoid CopyFile(string path)
{
isCopyEnd=true;if (isCopy)
{
DirectoryHelper dir=new DirectoryHelper();
targetdir= DateTime.Now.ToString();
targetdir= targetdir.Replace(':','-');
targetdir= ConfigReader.GetValue("targetdir")+ targetdir;//ConfigurationManager.AppSettings["targetdir"].ToString() + targetdir;if (!Directory.Exists(targetdir))
{
Directory.CreateDirectory(targetdir);
}
else
{
listBox1.Items.Add(DateTime.Now.ToString()+"--> 文件夹已经存在,请确认!");return;
}

dir.CopyDirectoryAndFiles(targetdir,new DirectoryInfo(path));
listBox1.Items.Add(DateTime.Now.ToString()+"--> 已完成数据拷贝!");
listBox1.Items.Add(DateTime.Now.ToString()+"--> 正在检查文件合法性!");
listBox1.Items.Add(DateTime.Now.ToString()+"--> 文件合法!");
listBox1.Items.Add(DateTime.Now.ToString()+"--> 数据正在入库!");
}
}protectedoverridevoid WndProc(ref Message m)
{
try
{
if (m.Msg== WM_DEVICECHANGE)
{
switch (m.WParam.ToInt32())
{
case WM_DEVICECHANGE:break;
case DBT_DEVICEARRIVAL://U盘插入 DriveInfo[] s= DriveInfo.GetDrives();
foreach (DriveInfo drivein s)
{
if (drive.DriveType== DriveType.Removable)
{
listBox1.Items.Add(DateTime.Now.ToString()+"--> U盘已插入,盘符为:"+ drive.Name.ToString());
Thread.Sleep(1000);if (!isCopyEnd)
{
isCopy=true;
CopyFile(drive.Name+ ConfigurationManager.AppSettings["sourcedir"].ToString());
}break;
}
}break;
case DBT_CONFIGCHANGECANCELED:break;
case DBT_CONFIGCHANGED:break;
case DBT_CUSTOMEVENT:break;
case DBT_DEVICEQUERYREMOVE:break;
case DBT_DEVICEQUERYREMOVEFAILED:break;
case DBT_DEVICEREMOVECOMPLETE://U盘卸载 listBox1.Items.Add(DateTime.Now.ToString()+"--> U盘已卸载!");
isCopy=false;
isCopyEnd=false;break;
case DBT_DEVICEREMOVEPENDING:break;
case DBT_DEVICETYPESPECIFIC:break;
case DBT_DEVNODES_CHANGED:break;
case DBT_QUERYCHANGECONFIG:break;
case DBT_USERDEFINED:break;default:break;
}
}
}catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
base.WndProc(ref m);
}
privatevoid btnConfig_Click(object sender, EventArgs e)
{
Config config=new Config();
config.ShowDialog();
}
}
}
hangly 2011-04-08
  • 打赏
  • 举报
回复
犀利,哪位仁兄把完整程序发给我啊,谢谢咯。。。。
aeioyou@yeah.net
sekitakashi 2011-02-27
  • 打赏
  • 举报
回复
using MTClient.Utility;
这个去那里找?
yuyejian 2011-01-10
  • 打赏
  • 举报
回复
不错,很好,已经成功了,感谢!
[Quote=引用 5 楼 jsntzll 的回复:]
C# code
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
……
[/Quote]
mskycloud 2010-12-13
  • 打赏
  • 举报
回复
呵呵!~不错,正在开发影音管理软件来用呢。
backcomer 2010-12-01
  • 打赏
  • 举报
回复
我怎么看不懂呢…
wbd6572789 2010-08-30
  • 打赏
  • 举报
回复
这个可以试是,以后谁都不敢到我电脑拷东西,哈哈
明缘 2010-08-27
  • 打赏
  • 举报
回复
up..........
tyhjlq 2010-07-29
  • 打赏
  • 举报
回复
犀利,哪位仁兄把完整程序发给我啊,谢谢咯。。。。
liuquannitian@126.com
535cheng110 2010-07-01
  • 打赏
  • 举报
回复
mark
afeng124 2010-06-16
  • 打赏
  • 举报
回复
强帖,作个记号。
XIE晓乐 2010-06-16
  • 打赏
  • 举报
回复
用批处理更简单!可以把批处理生成幽灵模式的exe文件 在不知不觉中完成 你的任务 呵呵
mide_c 2010-06-16
  • 打赏
  • 举报
回复
我已经上传了现场的作品,当时是用来偷上课老师U盘的软件的。呵呵。有兴趣得到我空间去下载。
gll062 2010-06-16
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 jsntzll 的回复:]
C# code
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
……
[/Quote]
army369168520 2010-06-16
  • 打赏
  • 举报
回复
这个不要随便用哦,违法的!!!
mingcsharp 2010-06-16
  • 打赏
  • 举报
回复
你找一找,我以前发过一个这样的贴子
dong3580 2010-06-16
  • 打赏
  • 举报
回复
邪恶的 ···不错的代码~~~学习了
zoopark 2010-06-16
  • 打赏
  • 举报
回复
收藏,收藏
加载更多回复(31)

110,577

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧