上午还在实验室的时候,龙哥短信说我们的门锁坏了,开不了,他们出不来,我只好回来。回来后,试了很久,还是打不开,于是一脚踹开了。然后发现门傍貌似裂了,锁的弹簧断了…打电话找了木工,修了很久终于可以用了,由于时间比较晚,也就没去实验室了。
打电话让FM帮我带回来本子。突然想起来前天和Sandy的关于魔兽改键工具的讨论,我需要确定war3到底是怎么接受键盘信息的。于是迫不及待地想写个给其他程序发送键盘消息的程序。我选择了记事本做测试。
思路很简单,FindWindow获得句柄,然后SendMessage或者PostMessage。至于其中遇到的问题,还需要仔细探究消息队列,SendMessa…
这几天暑期集训带队,每天会将各个队的进度报告和自己的带队笔记放到相应的目录下。我习惯每天的记录单独存放,比如今天会创建个名为”090708”的目录,明天会创建一个名为“090709”的。而在这个目录下,会将各队的信息单独存放,就是要创建三个目录:“MFC队”,“ASP队”,“改键工具”。本来想手工一个个建的,后来想不如编程实现。查了些资料,用VC++实现了。
参照DirectoryInfo类的例子写成的。其实用到的托管到底是怎么回事我现在也没搞清楚。忙完实验室了回头看看吧。
创建控制台程序,选择空项目。
考虑下面的键盘钩子函数。(MFC工程)
1
2
3
4
5
6
7
8
|
LRESULT CALLBACK KeyProc(int nCode,WPARAM w,LPARAM l){
if('A'==w){
MessageBox(NULL,"yes","test",MB_OK);
return 1;
}
return 0;
}
|
也就是想在按下A的时候,弹出一个对话框。
然后在一个事件中添加:
SetWindowsHookEx(WH_KEYBOARD,KeyProc,NULL,GetCurrentThread…
花了一周的时间来了解detours,现在终于有了进展。一周前下载了detours的时候,茫然了好一阵子才找到了头绪。现在总结下方便像我一样的初学者了。
我不再介绍Detours到底是什么了,因为已经有很好的帮助文档了,从detours官网上可以下载detours包。我下载的版本是detours2.1 express版本。包中有帮助文档,有detours的源码,还有很多例子。编译的时候,CMD下在detours的目录输入nmake,就可以编译了。需要注意的是,detours2.1平台要求是NT内核的,所以98下是不能用的。
编译好后,下面就说使用之前几点需要知道的,看帮助文档是可以获得这些…