如何发送组合键/ Windows Mobile 6.5

时间:2016-07-25 10:49:53

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

我有一台Windows Mobile 6.5设备(霍尼韦尔)与SOTI结合使用。我需要实现的是,如果设备的akku状态<10%,它应该关闭。这是我可以用SOTI做的部分。

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

1 个答案:

答案 0 :(得分: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键盘扫描码。