USB Key插入和移除监控
近期在做USB Key插入和移除监控,已经做到了插入和移除USB Key时,程序能够及时感应到。
如下为源代码:
private void Form1_Load(object sender, EventArgs e)
{
//创建查询条件,监控USB Key插入和拔出
string condintion = "TargetInstance ISA 'Win32_USBControllerdevice'";
var qCreate = new WqlEventQuery("__InstanceCreationEvent", TimeSpan.FromSeconds(1), condintion);
var qDelete = new WqlEventQuery("__InstanceDeletionEvent", TimeSpan.FromSeconds(1), condintion);
//创建事件查询的侦听器(ManagementEventWatcher)
var wCreate = new ManagementEventWatcher(qCreate);
var wDelete = new ManagementEventWatcher(qDelete);
//事件注册代码
wCreate.EventArrived += (sender1, e1) =>
{
GetInfo(e1.NewEvent);
string msg = "插入USB Key!"; //+ GetInfo(e1.NewEvent);
this.Write(msg);
};
wDelete.EventArrived += (sender1, e1) =>
{
string msg = "拔出USB Key!"; //+ GetInfo(e1.NewEvent);
this.Write(msg);
};
//异步开始侦听
wCreate.Start();
wDelete.Start();
}
用了招行网银USB key和客户提供的USB key测试,运行结果如下:
2013/11/28 0:51:17 插入USB Key!
2013/11/28 0:51:17 插入USB Key!
2013/11/28 0:51:18 拔出USB Key!
2013/11/28 0:51:18 拔出USB Key!
2013/11/28 0:51:20 插入USB Key!
2013/11/28 0:51:21 拔出USB Key!
2013/11/28 0:51:23 插入USB Key!
2013/11/28 0:51:23 插入USB Key!
2013/11/28 0:51:24 拔出USB Key!
2013/11/28 0:51:24 拔出USB Key!
2013/11/28 0:51:55 插入USB Key!
2013/11/28 0:51:55 插入USB Key!
2013/11/28 0:51:56 拔出USB Key!
2013/11/28 0:51:56 拔出USB Key!
不解的是,为什么我插入或拔出了一次Key后,程序会捕获到两次事件,在此抛砖引玉,望高手不吝赐教!
USB Key插入和移除监控的更多相关文章
- USB OTG插入检测识别
转载请标注原文地址:http://blog.csdn.net/uranus_wm/article/details/9838847 一 USB引脚一般四根线,定义如下: 为支持OTG功能,mini/mi ...
- Linux下基于PAM机制的USB Key的制作
摘自:https://server.zzidc.com/fwqpz/157.html USB Key这个概念最早是由加密锁厂家提出来的,加密锁是用来防止软件盗版的硬件产品,加密锁的概念是使安装在计算机 ...
- 银行应用USB Key身份认证方案
前言:本文为USB Key的厂商SafeNet公司提供的宣传稿件,并不代表本博客作者的观点和看法. 本文的技术解决方案使用的是SafeNet自身的产品,虽然这个产品支持数字签名和PKI体系,可生成并储 ...
- USB Key
随着互联网和电子商务的发展,USB Key作为网络用户身份识别和数据保护的“电子钥匙”,正在被越来越多的用户所认识和使用.本文对USB Key的产生和未来的发展趋势作了一个简单的介绍. 目前市场上见到 ...
- ubuntu下USB口插入USB转TTL查看串口号
首先先要获取权限 sudo su 然后 cd /devls ls可以列出所有的串口号(确保此时USB转TTL已经插在电脑上了) 然后拔掉USB转TTL 在ls一下列出所有的串口设备 对比可以发现,插上 ...
- 使用USB Key(加密狗)实现身份认证
首先你需要去买一个加密狗设备,加密狗是外形酷似U盘的一种硬件设备! 这里我使用的坚石诚信公司的ET99产品 公司项目需要实现一个功能,就是客户使用加密狗登录, 客户不想输入任何密码之类的东西,只需要插 ...
- JS中的鼠标移入移除监控操作
有些时候我们需要通过页面来监控用户的行为,包括鼠标操作键盘操作,本文章介绍的是鼠标的操作监控: <script> window.onload = function(){ var oDiv ...
- Flutter: AnimatedList 一个滚动容器,可在插入或移除项目时为其设置动画
Flutter Widget of the Week import 'dart:math'; import 'package:flutter/material.dart'; void main() = ...
- 1.6 USB的插入检测机制
随机推荐
- 生成N个不相等的随机数
近期项目中须要生成N个不相等的随机数.实现的时候.赶工期,又有项目中N非常小(0-100)直接谢了一个最直观的方法: public static List<Integer> randomS ...
- android113 自定义进度条
MainActivity: package com.itheima.monitor; import android.os.Bundle; import android.app.Activity; im ...
- android106 C基本数据类型
#JNI java native interface #c的基本数据类型 * int:32位,能表示的数字是2的32次方个 * 最高位用来表示符号位,那么还剩下31位可以表示数值,所以能表示的数字就是 ...
- TRUNCATE TABLE 与 DELETE table 区别
语法 TRUNCATE TABLE name;参数 TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行. TRUNCATE TABLE ...
- LoC
对于图片.Flash等非文本文件统计文件数量.文件大小: 对于文本文件统计文件数量.文本行数.字符数:
- MySQL【第一篇】安装
一.简介 MySQL 是最流行的关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司.MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言.MySQL由于其体积小. ...
- HTML左边和右边是固定的宽度但是中间是自动的布局方式
对于这个布局方式我们可以是用绝对定位的方式来实现这个效果 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&q ...
- the second assignment of software testing
作业2期心得体会.第一期仍有未完成的项目,比如应该指定所读课题的范围,是关于哪个方面的. 作业项目一: 安装并使用CheckStyle/PMD与FindBug 现在网络上查找了一番发现checkSty ...
- [Form builder]:about SYSTEM.MESSAGE_LEVEL
If you want to suppress error messages then you have to set a system variable :system.message_level. ...
- Atom 插件安装
“webstom” 目前还没免费版的 不过类似的倒是有个! 首先想到的一句话是:还在为webstom不是正版而发愁吗? 其实很小的时候我们的世界是非黑即白的,但慢慢长大后,发现其实还有灰色的存在! 工 ...