WinCE下如何调用触摸屏校准程序

来源:互联网 发布:oracle数据库11g价格 编辑:程序博客网 时间:2024/05/16 15:26

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的话,那么屏幕校准的结果将得不到保存,系统断电重启后需要再次校准(如果用户觉得有必要的话)。如果谁有不用hive注册表就能保存上次的屏幕校准结果,请不吝赐教。
转自Tony嵌入式论坛,地址:http://www.cevx.com/bbs/thread-5924-1-1.html

原创粉丝点击