首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Windows-CE或Windows-Mobile上启用和禁用触摸屏?

如何在Windows-CE或Windows-Mobile上启用和禁用触摸屏?
EN

Stack Overflow用户
提问于 2011-03-17 21:12:16
回答 3查看 6.3K关注 0票数 2

如何在Windows-CE或Windows-Mobile上启用和禁用触摸屏?

我需要任何C#示例代码

EN

回答 3

Stack Overflow用户

发布于 2013-03-05 23:49:17

经过几个小时的谷歌搜索,终于在这里找到了正确的答案:

http://www.hjgode.de/wp/2012/09/24/windows-mobile-disable-touch-input/#more-1543

在底部,您将在code.google上找到源代码:

https://code.google.com/p/win-mobile-code/source/browse/#svn%2Ftrunk%2FdisableTouch

C#的实际工作源代码:

代码语言:javascript
复制
    [DllImport("coredll.dll", SetLastError = true)]
    private static extern IntPtr GetDesktopWindow();

    [DllImport("touch.dll", SetLastError = true)]
    private static extern bool TouchRegisterWindow(IntPtr hwnd);

    [DllImport("touch.dll", SetLastError = true)]
    private static extern void TouchUnregisterWindow(IntPtr hwnd);

    public static Boolean Disable()
    {
        return TouchRegisterWindow(GetDesktopWindow());
    }

    public static void Enable()
    {
        TouchUnregisterWindow(GetDesktopWindow());
    }
票数 3
EN

Stack Overflow用户

发布于 2011-03-17 21:27:36

触摸屏驱动程序与大多数驱动程序不同。它在启动时直接加载到GWES中,并且不能轻易地从该基础设施中“移除”。没有通用的API来启用或禁用它,尽管我工作过的一些OEM确实有能力影响触摸屏驱动程序,因此如果您针对的是特定设备,您可以与设备OEM进行检查。

你也可以考虑告诉我们你到底想要实现什么以及为什么,我们也许能够提供一些其他的机制来让你达到你想要的目标。一般来说,禁用触摸屏将是一个不友好的、糟糕的主意。

票数 0
EN

Stack Overflow用户

发布于 2011-03-17 21:32:29

试试TouchPanelDisable。功劳归于Peter Foot

代码语言:javascript
复制
[DllImport("touch")]
private static extern void TouchPanelDisable();

有一个TouchPanelEnable,但它是isn't usable from managed code。因此,在这种情况下,用户必须执行热重置才能重新启用面板。

在您完全禁用触摸之前,您是否考虑过修改您的应用程序以简单地忽略由触摸输入引起的事件?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5339464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档