【问题标题】:How to send key combination / Windows Mobile 6.5如何发送组合键/Windows Mobile 6.5
【发布时间】:2016-11-28 16:17:10
【问题描述】:

我有一个结合 SOTI 的 windows mobile 6.5 设备(霍尼韦尔)。我需要实现的是,如果设备的 akku 状态

在关机之前,我需要发送五次 F12 键。我怎么能意识到这一点?我知道有一个虚拟键码 (https://msdn.microsoft.com/en-us/library/ms927178.aspx) 但我不知道如何触发它们。

【问题讨论】:

    标签: mobile windows-mobile windows-mobile-6.5 honeywell


    【解决方案1】:

    你可以使用keybd_event函数

        keybd_event( VK_F12, 0, 0, 0 );
        keybd_event( VK_F12, 0, KEYEVENTF_KEYUP, 0 );
    

    要从 .NET 使用它,请参阅 pinvoke

        using System.Runtime.InteropServices;
        ...
        public const uint KEYEVENTF_KEYUP = 2;
        
        [DllImport("coredll.dll", EntryPoint = "keybd_event", SetLastError = true)]
        public static extern void keybd_event
        (
          byte bVk,
          byte bScan,
          int dwFlags,
          int dwExtraInfo
        );
    

    始终使用具有相同键值的两个调用,一个用于键 dwon,一个用于 KEYEVENTF_KEYUP。

    扫描码的 bScan 通常可以为 0,或者您需要查找您发送的键的 PS/2 键盘扫描码。

    【讨论】:

    • 感谢您的回答!我需要为此使用框架吗?或者我可以将其复制粘贴到脚本文件中吗?
    • 这取决于:如果 C/C++ 不需要额外的工作;如果 .NET 你需要 pinvoke 那个 keybd_event
    猜你喜欢
    • 1970-01-01
    • 2011-04-04
    • 2012-07-29
    • 1970-01-01
    • 1970-01-01
    • 2011-03-04
    • 2014-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多