Exemplo n.º 1
0
        private void watch_created(object sender, FileSystemEventArgs e)
        {
            //事件内容
            Console.WriteLine("create:" + e.FullPath);
            diskClass diskStr = (diskClass)diskMap[disk];

            if (filePath == e.FullPath)
            {
                if (copytime != DateTime.Now.ToString().Substring(0, 14) || copyname != filePath || copydiskdir != diskStr.diskdir)
                {
                    copyname    = filePath;
                    copytime    = DateTime.Now.ToString().Substring(0, 14);
                    copydiskdir = diskStr.diskdir;
                    this.WriteToExcel(path, diskStr.diskname, DateTime.Now.ToString(), diskStr.diskdir, "拷入:" + e.FullPath);
                }
            }
            else
            {
                if (copytime != DateTime.Now.ToString().Substring(0, 14) || copyname != filePath || copydiskdir != diskStr.diskdir)
                {
                    copyname    = filePath;
                    copytime    = DateTime.Now.ToString().Substring(0, 14);
                    copydiskdir = diskStr.diskdir;
                    this.WriteToExcel(path, diskStr.diskname, DateTime.Now.ToString(), diskStr.diskdir, "拷出:" + e.FullPath);
                }
            }
        }
Exemplo n.º 2
0
        public void WriteInsert()
        {
            StartWatch();
            WatchStartOrSopt(true);
            diskClass diskObj = new diskClass();

            Console.WriteLine("开始监听剪切板");
            Console.WriteLine(dir);
            diskinfo = new ManagementObject("win32_logicaldisk.deviceid=\"" + disk + "\"");
            string diskdir;
            object diskserdata  = diskinfo.Properties["VolumeSerialNumber"].Value;
            object disknamedata = diskinfo.Properties["VolumeName"].Value;

            if (disknamedata != null)
            {
                diskname = disknamedata.ToString();
            }
            diskser = diskserdata.ToString();
            diskdir = diskser;
            if (diskname == "" || diskname == null)
            {
                diskname = "可移动磁盘(" + disk + ")";
            }
            diskObj.diskname = diskname;
            diskObj.diskdir  = diskdir;
            diskMap.Add(disk, diskObj);
            this.WriteToExcel(path, diskname, DateTime.Now.ToString(), diskdir, "插入");
        }
Exemplo n.º 3
0
        /// <summary>
        /// 当指定目录的文件或者目录发生重命名的时候的事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void watch_renamed(object sender, RenamedEventArgs e)
        {
            //事件内容
            Console.WriteLine("rename:" + e.FullPath);
            diskClass diskStr = (diskClass)diskMap[disk];

            this.WriteToExcel(path, diskStr.diskname, DateTime.Now.ToString(), diskStr.diskdir, "重命名:" + e.FullPath);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 当删除目录的文件或者目录的时候的监听事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void watch_deleted(object sender, FileSystemEventArgs e)
        {
            //事件内容
            Console.WriteLine("del:" + e.FullPath);
            diskClass diskStr = (diskClass)diskMap[disk];

            this.WriteToExcel(path, diskStr.diskname, DateTime.Now.ToString(), diskStr.diskdir, "删除:" + e.FullPath);
        }
Exemplo n.º 5
0
 public void getData()
 {
     try
     {
         //根据.net自带Clipboard类,获取裁切板中的数据
         if (Clipboard.ContainsFileDropList())
         {
             System.Collections.Specialized.StringCollection file = Clipboard.GetFileDropList();
             IList fileIList = (IList)file;
             if (fileIList.Count > 0)
             {
                 for (int i = 0; i < fileIList.Count; i++)
                 {
                     Console.WriteLine(fileIList[i]);
                     filePath = fileIList[i].ToString();
                     if (filePath.StartsWith(disk))
                     {
                         Console.WriteLine("U盘数据被复制");
                         diskClass diskStr = (diskClass)diskMap[disk];
                         if (copytime != DateTime.Now.ToString().Substring(0, 14) || copyname != filePath || copydiskdir != diskStr.diskdir)
                         {
                             copyname    = filePath;
                             copytime    = DateTime.Now.ToString().Substring(0, 14);
                             copydiskdir = diskStr.diskdir;
                             this.WriteToExcel(path, diskStr.diskname, DateTime.Now.ToString(), diskStr.diskdir, "拷入:" + filePath);
                         }
                     }
                 }
             }
         }
     }
     catch (Exception e)
     {
         MessageBox.Show(e.Message);
     }
 }
Exemplo n.º 6
0
 protected override void WndProc(ref Message m)
 {
     if (m.Msg == WM_DRAWCLIPBOARD)
     {
         SendMessage(nextHandle, m.Msg, m.WParam, m.LParam);
         this.setSingleThread();
     }
     else if (m.Msg == WM_CHANGECBCHAIN)
     {
         if (m.WParam == nextHandle)
         {
             this.nextHandle = m.LParam;
         }
         else
         {
             SendMessage(nextHandle, m.Msg, m.WParam, m.LParam);
         }
     }
     else if (m.Msg == WM_CLIPBOARDUPDATE)
     {
         this.setSingleThread();
     }
     else if (m.Msg == WM_DEVICECHANGE)
     {
         int wp = m.WParam.ToInt32();
         //存储设备插/拔/弹
         if (wp == DBT_DEVICEARRIVAL || wp == DBT_DEVICEQUERYREMOVE || wp == DBT_DEVICEREMOVECOMPLETE || wp == DBT_DEVICEREMOVEPENDING || wp == DBT_DEVICEQUERYREMOVEFAILED)
         {
             DEV_BROADCAST_HDR dbhdr = (DEV_BROADCAST_HDR)Marshal.PtrToStructure(m.LParam, typeof(DEV_BROADCAST_HDR));
             if (dbhdr.dbch_devicetype == 2)
             {
                 DEV_BROADCAST_VOLUME dbv = (DEV_BROADCAST_VOLUME)Marshal.PtrToStructure(m.LParam, typeof(DEV_BROADCAST_VOLUME));
                 if (dbv.dbcv_flags == 0)
                 {
                     char[] volums = GetVolumes(dbv.dbcv_unitmask);
                     disk = volums[0].ToString() + ":";
                     path = dir + "USB接口使用记录" + DateTime.Today.Year + DateTime.Today.Month + DateTime.Today.Day + ".xlsx";
                     if (wp == DBT_DEVICEARRIVAL)   //存储设备插入
                     {
                         WatcherStrat(disk, "*.*"); //开始监听U盘
                         if (!File.Exists(path))
                         {
                             try
                             {
                                 this.CreateExcelFile(path);
                             }
                             catch (Exception e)
                             {
                                 msg(e.Message);
                             }
                         }
                         (new NameFrom()).ShowDialog();
                         WriteInsert();
                     }
                     else  //存储设备拔/弹出
                     {
                         try
                         {
                             if (watcher.Path == "true")
                             {
                             }
                             diskClass diskStr = (diskClass)diskMap[disk];
                             this.WriteToExcel(path, diskStr.diskname, DateTime.Now.ToString(), diskStr.diskdir, "拔出");
                             diskMap.Remove(disk);
                             if (watcher.EnableRaisingEvents != false)
                             {
                                 EndWatch();
                                 WatchStartOrSopt(false);
                                 Console.WriteLine("直接拔出");
                             }
                             Console.WriteLine("结束监听剪切板");
                         }
                         catch (Exception) { }
                     }
                 }
             }
         }
     }
     base.WndProc(ref m);
 }