阅读:3172回复:7
触摸屏校准程序的问题?
我想在我的程序中调用CE自带的触摸屏校准程序,那位大侠知道他的存放路径,该用什么命令来调用?
|
|
沙发#
发布于:2007-02-13 23:15
Try TouchCalibrate
|
|
|
板凳#
发布于:2007-03-22 16:29
各位大哥大姐:如何在应用程序中调用wince自带的触摸屏校准程序?
不知道绝对路径啊 因为它是通过控制面板的快捷方式进入的,所以不知道绝对路径 在线等待中 |
|
地板#
发布于:2007-03-22 17:19
好像是在windows目录下的吧,在你编译的工程文件夹下可以找的到他的EXE文件。 touchc.exe
|
|
|
地下室#
发布于:2007-03-22 18:35
试试下面代码:
typedef BOOL (WINAPI *_TouchCalibrate)(); void callTouchCalibrate() { HINSTANCE ApiDLL = LoadLibrary(_T("coredll.dll")); if (ApiDLL == NULL) { AfxMessageBox (L"ApiDLL == NULL"); return; } _TouchCalibrate TouchCalibrate = NULL; TouchCalibrate = (_TouchCalibrate)GetProcAddress(ApiDLL, _T("TouchCalibrate")); if (TouchCalibrate == NULL) { AfxMessageBox (L"TouchCalibrate == NULL"); return; } TouchCalibrate (); |
|
5楼#
发布于:2007-04-02 09:17
谢谢大家!我用上面的方法的确能实现在应用程序中调用触摸屏程序。
但是我用的是基于ram的注册表,所以虽然本次校验成功,但是下次开机又是恢复到原来的没有校准的状态, 我曾把校准后的注册表关于触摸屏部分,在运行校准程序后保存到flash中,然后每次开机时 在应用程序的初始化OnInitial中读flash更新注册表。经过实验,还是不行。虽然注册表的确修改了。 我认为可能是由于开机从flash里更新注册表的地方太晚了。程序还是用旧的注册表启动的。 不知道大家有没有好的方法。请赐教!谢谢 |
|
6楼#
发布于:2007-04-02 21:30
你可以在编译OS IMAGE时就加上注册表设置(放在platform.reg中)
或者加上HIVE registry的支持,这样当注册表修改以后系统会将将其保存,启动时再读出. |
|
|
7楼#
发布于:2007-04-03 14:17
谢谢!在编译OS IMAGE时加上注册表设置(放在platform.reg中),那么以后屏幕需要校准时,数据是变化的,
又需要重新编译内核。基于HIVE的注册表,我没有试过,不知道得花多长时间,好不好弄。请问,如何用ram的注册表有什么办法吗?我想编个可执行文件,这个文件用来加载保存的注册表触摸屏信息,并 将 这个文件放到 注册表中 ,让系统加载过程中启动这个程序。不知道可不可行。 |
|