2016-07-25 16 views
0

私はSOTIと組み合わせてWindows Mobile 6.5デバイス(Honeywell)を持っています。私が実装する必要があるのは、デバイスがakkuのステータスが<の場合、デバイスは10%シャットダウンする必要があります。それが私がSOTIでできることです。キーの組み合わせを送る方法/ Windows Mobile 6.5

このシャットダウンの前に、F12キーを5回送信する必要があります。どうすればそれを実現できますか?私はそこに仮想キーコード(https://msdn.microsoft.com/en-us/library/ms927178.aspx)があることを知っていますが、私はそれらを引き起こす方法はわかりません。

答えて

1

あなたが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 
    ); 

は常にKEYEVENTF_KEYUPと、同じキー値を持つキーdwon用と1の2つの呼び出しを使用して参照

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

は、.NETからそれを使用するにはkeybd_event機能を使用することができます。

通常、スキャンコードのbScanは0にすることも、送信するキーのPS/2キーボードスキャンコードをルックアップする必要があります。

+0

お返事ありがとうございます!そのためにフレームワークを使用する必要がありますか?または、スクリプトファイルに貼り付けるだけでコピーできますか? – user896692

+0

これは依存します:C/C++に追加の作業は必要ありません。 .NETの場合、そのkeybd_eventをピンボーイする必要があります – josef

関連する問題