keybs_event в C # не эмулирует запятые - PullRequest
1 голос
/ 08 апреля 2011

У меня есть программа C #, которая работает на устройстве Windows Mobile 6.1. Он должен распечатывать списки с разделителями-запятыми как события клавиатуры, чтобы пользователь мог сбросить их в любую программу, открытую в данный момент. Однако метод keybd_event игнорирует запятые и просто печатает числа один за другим. Вот пример с жестко запрограммированным номером:

byte[] bBuf = Encoding.ASCII.GetBytes("22108,");</p> <pre><code>for (int i = 0; i < bBuf.Length; i++) { System.Diagnostics.Debug.WriteLine("buffer: " + bBuf[i]); keybd_event(bBuf[i], 0x00, keyFlag.KEYEVENTF_KEYDOWN, 0); System.Threading.Thread.Sleep(2); keybd_event(bBuf[i], 0x00, keyFlag.KEYEVENTF_KEYUP, 0); System.Threading.Thread.Sleep(2); }

Будет напечатано «22108».

Есть ли что-то особенное в символе запятой, которое заставляет его игнорироваться, и если да, то как мне обойти это?

1 Ответ

0 голосов
/ 08 апреля 2011

Вы должны передать 0xBC для запятой - проверьте это http://msdn.microsoft.com/en-us/library/dd375731(v=vs.85).aspx

...