Deep Freeze这个软件不知道大家用过吗?是国外的一个数据还原类软件(和还原精灵之类的不一样,它是在Windows运行之后才启动的)。
我现在要做的是用个程序进行模拟操作,也就是我在另一台电脑上通过网络发指令给我的程序,让它模拟人的操作去对Deep Freeze进行设置(主要是为了方便在机房环境内对多台电脑进行操作)。Deep Freeze的窗口弹出热键是 Ctrl + Alt + Shift + F6 ,我是用模拟按键弹出它的界面,但是以下的VB代码在Windows 2000下有效,在Windows 98下就对它不起作用了。
Call keybd_event(&H10, MapVirtualKey(&H10, 0), 0, 0)
Call keybd_event(&H11, MapVirtualKey(&H11, 0), 0, 0)
Call keybd_event(&H12, MapVirtualKey(&H12, 0), 0, 0)
Call keybd_event(&H75, MapVirtualKey(&H75, 0), 0, 0)
Call keybd_event(&H10, 0, KEYEVENTF_KEYUP, 0)
Call keybd_event(&H11, 0, KEYEVENTF_KEYUP, 0)
Call keybd_event(&H12, 0, KEYEVENTF_KEYUP, 0)
Call keybd_event(&H75, 0, KEYEVENTF_KEYUP, 0)
我不明白它在98下是怎样实现的热键功能,因为我随便把桌面上的一个快捷方式的热键设成和它一样,按下热键的时候两个都出来了,而我的程序在98下只能启动设置了热键的那个快捷方式。
看起来它好像是用的键盘钩子来检查是否按下了热键,但我不明白上面的代码为什么不能呼出它。。。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!