none
屏幕自动校准,重复出现,无法正确退出 RRS feed

  • 问题

  • 平台: ARM926T
    错误现象: 在系统启动后自动进行屏幕校准时,总是重复校准过程.无法退出校准程序进入到wince界面.

    说明: 系统启动后的自动校准是通过在windows\startup目录下增加自启动程序去调用TouchCalibrate实现的,自序启动项的程序代码如下:

    // TouchCalibrate.cpp : 定义控制台应用程序的入口点。
    //

    #include "stdafx.h"
    #include <windows.h>
    #include <commctrl.h>

    typedef BOOL        (WINAPI *_TouchCalibrate)();

    void callTouchCalibrate()
    {

              HINSTANCE ApiDLL = LoadLibrary(_T("coredll.dll"));
       if (ApiDLL == NULL)
       {
           MessageBox (NULL,L"ApiDLL == NULL",NULL,0);
           return;
       }

       _TouchCalibrate TouchCalibrate = NULL;


       TouchCalibrate = (_TouchCalibrate)GetProcAddress(ApiDLL, _T("TouchCalibrate"));
       if (TouchCalibrate == NULL)
       {
           MessageBox (NULL,L"TouchCalibrate == NULL",NULL,0);
           return;
       }
       TouchCalibrate ();
    }
    int _tmain(int argc, _TCHAR* argv[])
    {
     callTouchCalibrate();
     return 0;
    }

     

    2009年3月29日 1:28

答案

  • 不是MS的原因。是因为你的硬件驱动部分有不可停止的中断产生,(可能是:部分应用程序在切换,USB鼠标或其他输入/输出影响,FLASH操作和程序的烧入都会影响,会出现这样的问题! 这样的情况一般重新把板上的所有程序重新烧入就可以解决问题了!

    2009年5月6日 15:07

全部回复

  • 你的问题我在我的机子上也出现过,我认为这是微软写的校准算法有一定缺陷,如果你的机子上有ESC键,一般设备上还是有这个键吧,按这个键就可以退出去。校准的时候对准一点,一般是不会出这个问题的。 我认为它在算法里可能认为你点的位置不符合它的标准,所以要求你一直重点。
    2009年4月1日 8:46
  • 首先,谢谢你的答复.
    1. ESC键没有
    2. 校准的时候已经点到很准确了,但还是不行,所以我估计不是MS的问题.

    2009年4月1日 14:26
  • 不好意思,真正的校准程序我也没去看过,只是我曾碰到过类似的问题而已。我说的校准的时候对准一点,是运行程序的第一次校准,第一次准了就没事,不然后面会要求一直点下去。不知道你有没有校准成功过,如果你成功过,我建议你不用采用校准程序,用我下面的方法一样可以实现:
           打开你的机器后,运行校准程序成功后打开注册表,找到:
    HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\TOUCH]
      "DriverName"="touch.dll"
      "MaxCalError"=dword:7
       "CalibrationData"="2079,2015 693,3299 689,715 3471,729 3467,3255 "//这就是校准后的坐标
    你把上面的坐标抄下来,修改到镜像里的注册表,这样你一劳永逸了。如果你觉得你的机子用一段时间还是会屏幕不准,你也可以把上面的注册表值写成程序每次启动时导入进去。
    2009年4月2日 1:03
  • "CalibrationData"="2079,2015 693,3299 689,715 3471,729 3467,3255 "//这就是校准后的坐标
    这个项我加了,就是奇怪,为什么我校准后这一项并没有变(可能是我从来就没有成功校准过)哈哈


    我也奇怪得很,过两天去问原厂算了,看看他们有什么解释..   我估计是别的原因了,不一定是ms的问题
    2009年4月2日 1:07
  • 不是MS的原因。是因为你的硬件驱动部分有不可停止的中断产生,(可能是:部分应用程序在切换,USB鼠标或其他输入/输出影响,FLASH操作和程序的烧入都会影响,会出现这样的问题! 这样的情况一般重新把板上的所有程序重新烧入就可以解决问题了!

    2009年5月6日 15:07