在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
看到个软件蛮好玩的,叫做ULOGON,它可以让你只有插入了正确的U盘系统才能工作。其实我们也可以简单的用C#来实现这个功能,本文首先来讨论如何拦截系统的U盘插入消息。
以上转自淘软网-水兰色心情版主
而上次写的软件用的就是第二种方法。因为习惯了,这次还是用这种方法吧。现在我们改写这个方法,我们必须知道U盘插入拔出的系统消息。这里我整理了下,告诉大家 DEVICECHANGE 0X219 DEVICEARRVIE 0X8000 DEVICEREMOVE 0X8004 我们拦截了DEVICECHANGE然后用tostring()方法: msg=0x219 (WM_DEVICECHANGE) hwnd=0x50e54 wparam=0x8000 lparam=0x475e89c result=0x0 也就是说,当有驱动器加载时是发送WM_DEVICECHANGE消息,但是判断驱动器是加载还是卸载就要判断WPARAM字段是DEVICEARRIVE还是DEVICEMOVE,所以我们编写如下测试代码。 程序说明: 编译环境:VISTA+VS2005(C# WINDOWS FORM) 窗体设计:一个TEXTBOX(NAME: TextBox_Message)
protected override void WndProc(ref Message m)//监视Windows消息
知道有U盘插入后我们可以判断插入的U盘中有没有我们需要的证书文件,如果没有就锁了电脑~呵呵。} 思路就是这样,当然是十分简单的实现,如果真想写的好点可能还需要重写GINA.DLL,有兴趣的自己去MSDN查查资料吧。 最后祝大家元旦快乐~ |
请发表评论