• 大小: 10KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-05
  • 语言: C#
  • 标签: C#  设备移除  

资源简介

C# USB设备检测,以及自动安全移除USB设备,源代码实例

资源截图

代码片段和文件信息

// UsbEject version 1.0 March 2006
// written by Simon Mourier 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Text;

namespace TSB_Print.Class
{
    /// 
    /// A generic base class for physical devices.
    /// 

    [TypeConverter(typeof(ExpandableobjectConverter))]
    public class Device : IComparable
    {
        private string _path;
        private DeviceClass _deviceClass;
        private string _description;
        private string _class;
        private string _classGuid;
        private Device _parent;
        private int _index;
        private DeviceCapabilities _capabilities = DeviceCapabilities.Unknown;
        private List _removableDevices;
        private string _friendlyName;
        private Native.SP_DEVINFO_DATA _deviceInfoData;

        internal Device(DeviceClass deviceClass Native.SP_DEVINFO_DATA deviceInfoData string path int index)
        {
            if (deviceClass == null)
                throw new ArgumentNullException(“deviceClass“);

            if (deviceInfoData == null)
                throw new ArgumentNullException(“deviceInfoData“);

            _deviceClass = deviceClass;
            _path = path; // may be null
            _deviceInfoData = deviceInfoData;
            _index = index;
        }

        /// 
        /// Gets the device‘s index.
        /// 

        public int Index
        {
            get
            {
                return _index;
            }
        }

        /// 
        /// Gets the device‘s class instance.
        /// 

        [Browsable(false)]
        public DeviceClass DeviceClass
        {
            get
            {
                return _deviceClass;
            }
        }

        /// 
        /// Gets the device‘s path.
        /// 

        public string Path
        {
            get
            {
                if (_path == null)
                {
                }
                return _path;
            }
        }

        /// 
        /// Gets the device‘s instance handle.
        /// 

        public int InstanceHandle
        {
            get
            {
                return _deviceInfoData.devInst;
            }
        }

        /// 
        /// Gets the device‘s class name.
        /// 

        public string Class
        {
            get
            {
                if (_class == null)
                {
                    _class = _deviceClass.GetProperty(_deviceInfoData Native.SPDRP_CLASS null);
                }
                return _class;
            }
        }

        /// 
        /// Gets the device‘s class Guid as a string.
        /// 

        public strin

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       8581  2018-02-27 09:55  USB操作类\Device.cs

     文件        963  2018-02-27 09:56  USB操作类\DeviceCapabilities.cs

     文件       9202  2018-02-27 09:53  USB操作类\DeviceClass.cs

     文件        601  2018-02-27 09:58  USB操作类\DiskDeviceClass.cs

     文件       7071  2018-02-27 09:53  USB操作类\Native.cs

     文件       7471  2018-02-27 09:58  USB操作类\Volume.cs

     文件       1331  2018-02-27 09:53  USB操作类\VolumeDeviceClass.cs

    ..A.SHR       326  2018-02-27 09:59  USB操作类\vssver2.scc

     文件       1134  2018-03-03 09:39  USB操作类\调用.txt

     目录          0  2018-03-03 09:38  USB操作类

----------- ---------  ---------- -----  ----

                36680                    10


评论

共有 条评论