U盘是否插入+导入导出文件

  1 using System;
2 using System.Collections.Generic;
3 using System.ComponentModel;
4 using System.Data;
5 using System.Drawing;
6 using System.Linq;
7 using System.Text;
8 using System.Windows.Forms;
9 using EnergyCollector.Frame;
10 using System.IO;
11
12 namespace EnergyCollector.Winform
13 {
14 public partial class FrmImExConfigFile : BackGroundForm
15 {
16 public const int WM_DEVICECHANGE = 0x219;
17 public const int DBT_DEVICEARRIVAL = 0x8000;
18 public const int DBT_CONFIGCHANGECANCELED = 0x0019;
19 public const int DBT_CONFIGCHANGED = 0x0018;
20 public const int DBT_CUSTOMEVENT = 0x8006;
21 public const int DBT_DEVICEQUERYREMOVE = 0x8001;
22 public const int DBT_DEVICEQUERYREMOVEFAILED = 0x8002;
23 public const int DBT_DEVICEREMOVECOMPLETE = 0x8004;
24 public const int DBT_DEVICEREMOVEPENDING = 0x8003;
25 public const int DBT_DEVICETYPESPECIFIC = 0x8005;
26 public const int DBT_DEVNODES_CHANGED = 0x0007;
27 public const int DBT_QUERYCHANGECONFIG = 0x0017;
28 public const int DBT_USERDEFINED = 0xFFFF;
29 /// <summary>
30 /// 盘符
31 /// </summary>
32 private string driveName;
33
34 public FrmImExConfigFile()
35 {
36 InitializeComponent();
37 }
38
39 protected override void WndProc(ref Message m)
40 {
41 try
42 {
43 if (m.Msg == WM_DEVICECHANGE)
44 {
45 switch (m.WParam.ToInt32())
46 {
47 case WM_DEVICECHANGE://
48 break;
49 case DBT_DEVICEARRIVAL://U盘插入
50 DriveInfo[] s = DriveInfo.GetDrives();
51 foreach (DriveInfo drive in s)
52 {
53 if (drive.DriveType == DriveType.Removable)
54 {
55 richTextBox1.AppendText("U盘已插入! \r\n");
56 richTextBox1.AppendText("-----------\r\n");
57 driveName = drive.Name;
58 kbExport.Enabled = true;
59 kbImport.Enabled = true;
60 break;
61 }
62 }
63 break;
64 case DBT_CONFIGCHANGECANCELED:
65 richTextBox1.AppendText("2\r\n");
66 break;
67 case DBT_CONFIGCHANGED:
68 richTextBox1.AppendText("3\r\n");
69 break;
70 case DBT_CUSTOMEVENT:
71 richTextBox1.AppendText("4\r\n");
72 break;
73 case DBT_DEVICEQUERYREMOVE:
74 richTextBox1.AppendText("5\r\n");
75 break;
76 case DBT_DEVICEQUERYREMOVEFAILED:
77 richTextBox1.AppendText("6\r\n");
78 break;
79 case DBT_DEVICEREMOVECOMPLETE: //U盘卸载
80 richTextBox1.AppendText("U盘已卸载! \r\n");
81 richTextBox1.AppendText("-----------\r\n");
82 kbExport.Enabled = false;
83 kbImport.Enabled = false;
84 break;
85 case DBT_DEVICEREMOVEPENDING:
86 richTextBox1.AppendText("7\r\n");
87 break;
88 case DBT_DEVICETYPESPECIFIC:
89 richTextBox1.AppendText("8\r\n");
90 break;
91 case DBT_DEVNODES_CHANGED://可用,设备变化时
92 //richTextBox1.AppendText("9\r\n");
93 break;
94 case DBT_QUERYCHANGECONFIG:
95 richTextBox1.AppendText("10\r\n");
96 break;
97 case DBT_USERDEFINED:
98 richTextBox1.AppendText("11\r\n");
99 break;
100 default:
101 break;
102 }
103 }
104 }
105 catch (Exception ex)
106 {
107 richTextBox1.AppendText(ex.Message);
108 }
109 base.WndProc(ref m);
110 }
111 /// <summary>
112 /// 加载
113 /// </summary>
114 /// <param name="sender"></param>
115 /// <param name="e"></param>
116 private void FrmImExConfigFile_Load(object sender, EventArgs e)
117 {
118 kbExport.Enabled = false;
119 kbImport.Enabled = false;
120 richTextBox1.AppendText("请插入U盘! \r\n");
121 richTextBox1.AppendText("-----------\r\n");
122 }
123 /// <summary>
124 /// 导出配置文件
125 /// </summary>
126 /// <param name="sender"></param>
127 /// <param name="e"></param>
128 private void kbExport_Click(object sender, EventArgs e)
129 {
130 //程序路径
131 string localPath = System.Environment.CurrentDirectory + "\\ConfigFiles";
132 //目标路径
133 string targetPath = driveName + "ConfigFiles";
134 //判断路径是否存在
135 if (!Directory.Exists(localPath))
136 {
137 richTextBox1.AppendText("配置目录不存在!\r\n");
138 return;
139 }
140 if (!Directory.Exists(driveName))
141 {
142 richTextBox1.AppendText("U盘不存在!\r\n");
143 return;
144 }
145 //实例化
146 DirectoryInfo dirLocal = new DirectoryInfo(localPath);
147 DirectoryInfo dirTarget = new DirectoryInfo(targetPath);
148 //判断目标路径是否存在
149 if (!Directory.Exists(targetPath))
150 {
151 Directory.CreateDirectory(targetPath);
152 }
153 //删除历史文件
154 if (dirTarget.GetFiles().Length > 0)
155 {
156 richTextBox1.AppendText("正在删除U盘历史文件");
157 foreach (FileInfo file in dirTarget.GetFiles())
158 {
159 file.Delete();
160 richTextBox1.AppendText(".");
161 }
162 }
163 richTextBox1.AppendText("\r\n");
164 //复制配置文件
165 richTextBox1.AppendText("正在导出配置文件到U盘");
166 foreach (FileInfo file in dirLocal.GetFiles())
167 {
168 string fileNew = targetPath + "\\" + file.Name;
169 file.CopyTo(fileNew, true);
170 richTextBox1.AppendText(".");
171 }
172 richTextBox1.AppendText("\r\n");
173 richTextBox1.AppendText("导出完成!\r\n");
174 richTextBox1.AppendText("-----------\r\n");
175 }
176 /// <summary>
177 /// 导入配置文件
178 /// </summary>
179 /// <param name="sender"></param>
180 /// <param name="e"></param>
181 private void kbImport_Click(object sender, EventArgs e)
182 {
183 //程序路径
184 string localPath = System.Environment.CurrentDirectory + "\\ConfigFiles";
185 //目标路径
186 string targetPath = driveName + "ConfigFiles";
187 //判断路径是否存在
188 if (!Directory.Exists(localPath))
189 {
190 richTextBox1.AppendText("配置目录不存在!\r\n");
191 return;
192 }
193 if (!Directory.Exists(driveName))
194 {
195 richTextBox1.AppendText("U盘不存在!\r\n");
196 return;
197 }
198 //实例化
199 DirectoryInfo dirLocal = new DirectoryInfo(localPath);
200 DirectoryInfo dirTarget = new DirectoryInfo(targetPath);
201 //判断目标路径是否存在
202 if (!Directory.Exists(targetPath))
203 {
204 Directory.CreateDirectory(targetPath);
205 }
206 if (dirTarget.GetFiles().Length > 0)
207 {
208 //删除历史文件
209 if (dirLocal.GetFiles().Length > 0)
210 {
211 richTextBox1.AppendText("正在删除本地配置");
212 foreach (FileInfo file in dirLocal.GetFiles())
213 {
214 file.Delete();
215 richTextBox1.AppendText(".");
216 }
217 }
218 richTextBox1.AppendText("\r\n");
219 //复制配置文件
220 richTextBox1.AppendText("正在导入配置文件到本机");
221 foreach (FileInfo file in dirTarget.GetFiles())
222 {
223 string fileNew = dirLocal + "\\" + file.Name;
224 file.CopyTo(fileNew, true);
225 richTextBox1.AppendText(".");
226 }
227 richTextBox1.AppendText("\r\n");
228 richTextBox1.AppendText("导入完成!\r\n");
229 }
230 else
231 {
232 richTextBox1.AppendText("U盘配置文件为空,请检查配置文件!\r\n");
233 }
234 richTextBox1.AppendText("-----------\r\n");
235
236 }
237
238 private void kbClearMsg_Click(object sender, EventArgs e)
239 {
240 richTextBox1.Clear();
241 }
242
243 private void keyButtonCancel_Click(object sender, EventArgs e)
244 {
245 this.Close();
246 }
247
248
249 }
250 }

U盘是否插入

U盘是否插入+导入导出文件

时间: 2024-07-29 17:14:08

U盘是否插入+导入导出文件的相关文章

debian7 请把标有“Debian GNU/Linux 7.1.0 _Wheezy_ - Official amd64 DVD Binary-1 20130615-23:06”的盘片插入驱动器“/media/cdrom/”再按回车键

有时候,在通过apt-get install 安装软件的时候,会出现: 更换介质:请把标有“Debian GNU/Linux 7.1.0 _Wheezy_ - Official amd64 DVD Binary-1 20130615-23:06”的盘片插入驱动器“/media/cdrom/”再按回车键 类似的提示,如果不放入CD,那么安装是不能继续下去的. 为了解决此问题,我们可以这像下面这么做: root权限修改/etc/apt/sources.list文件,注释掉deb cdrom:开头的行

oracle导入导出文件补充

这两天做了oracle的导入导出表数据. 1.oracle 提供了三种方式的导入导出文件,(1)Oracle export/Import   (2)slq export/import (3)PL/SQL导出导入 第二种方式适合于单个或者几个表的导入导出,导入导出的数据量较小. 如果是大数据量或者表比较多了,最好使用第一种方式.第三种方式必须有PL/SQL. 2. 注意事项 (1)导出表时,第二种方式不能导出带blob或者clob字段的表,必须使用第一种方式. (2)导入表时,第一,二种方式都不能

创建oracle数据库的表空间、用户、目录、导入\导出文件等信息

1.创建表空间 create tablespace ts_aw logging datafile 'd:\app\Administrator\product\tablespace\ts_aw.dbf' size 10M autoextend on next 5M maxsize 20480M; 2.创建用户 create user hb identified by hb default tablespace ts_aw; 3.给用户授权限 grant connect,resource,dba t

Xshell客户端软件导入导出文件

Linux服务器可以直接安装lrzsz软件,安装了该软件之后可以替代ftp等工具直接通过Xshell客户端软件直接往服务器丢文件 或者通过服务器往外转出文件等操作 导出:sz youfile  导入:rz 浏览找到你本机要上传的文件 #需要注意的事这个命令无法在putty界面中使用 yum -y install lrzsz        #安装软件 sz youfile #导出文件 rz #导入文件

C#检测U盘是否插入

public partial class Form1 : Form { #region u盘属性 public const int WM_DEVICECHANGE = 0x219;//U盘插入后,OS的底层会自动检测到,然后向应用程序发送"硬件设备状态改变"的消息 public const int DBT_DEVICEARRIVAL = 0x8000; //就是用来表示U盘可用的.一个设备或媒体已被插入一块,现在可用. public const int DBT_CONFIGCHANGE

mysql导入导出文件

window下 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u dbuser -p dbname > dbname.sql 2.导出一个表 mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名 mysqldump -u dbuser -p dbname users> dbname_users.sql 3.导出一个数据库结构 mysqldump -u dbuser -p -d --add-drop-t

mysql 导入导出文件遇到的问题

今天通过语句:select * from mytable into outfile 'd:/mytable.xls’; 导出外部文件,但是无论如何都不成功,系统提示: The MySQL server is running with the --secure-file-priv option so it cannot execute this statement when executing 'SELECT INTO OUTFILE': 于是,通过输入命令:show variables like

WINDOWS检测U盘插入,拔出

检测U盘的插入或拔出状态,然后根据状态做出相关操作. 检测U盘是否被插入是通过监听WM_DEVICECHANGE消息来实现的. 判断-U盘拔出和插入-获取它盘符 2010-05-04 10:59 加入消息 ON_WM_DEVICECHANGE(OnDeviceChange) 加入 afx_msg void OnDeviceChange(UINT nEventType, DWORD dwData); -------------------------------------------------

Oracle简单的备份和恢复-导出和导入(2)

ylbtech-Oracle:Oracle简单的备份和恢复-导出和导入(2) 简单的备份和恢复-导出和导入(2) 1. 用户导入导出文件中的一张表(emp)返回顶部 0.1, 我们在sql plus中删除掉一张表emp,把dept表的记录删空. drop table emp; delete from dept; 之后我们先利用刚才导出的mytable.dmp导入emp表.具体导入步骤如下: 1.在命令行下输入imp命令. 2.系统首先提示我们输入用户名和密码,在这里我们可以用scott/tige