转自:http://blog.csdn.net/SparkMiao/article/details/5383338
wince的cordll提供了屏幕校准的函数,使用方法与我的上一篇文章中说的钩子函数类似,强制加载dll,获取地址,然后用函数指针调用。这里飞狐给出源代码。
首先在头文件里加入函数指针定义:
typedef BOOL (WINAPI *_TouchCalibrate)(); |
然后使用如下代码,就会出现屏幕校准画面了。
HINSTANCE hinstance = LoadLibrary(_T( "coredll.dll" )); if (hinstance == NULL) { AfxMessageBox (L "instance == NULL" ); return ; } _TouchCalibrate TouchCalibrate = NULL; TouchCalibrate = (_TouchCalibrate)GetProcAddress(hinstance , L "TouchCalibrate" ); if (TouchCalibrate == NULL) { AfxMessageBox (L "TouchCalibrate == NULL" ); return ; } TouchCalibrate (); FreeLibrary(hinstance ); |
关于屏幕校准,有一点值得说的是,据我所知,注册表的HKEY_LOCAL_MACHINE/HARDWARE/DEVICEMAP/TOUCH的 CalibrationData项保存有屏幕校准数据,所以如果注册表是基于RAM的话,那么屏幕校准的结果将得不到保存,系统断电重启后需要再次校准(如果用户觉得有必要的话)。
联系客服