1

我有一个在 windows mobile 6.1 设备上运行的 C# 程序。它需要将逗号分隔的列表打印为键盘事件,以便用户可以将它们转储到当时打开的任何程序中。但是, keybd_event 方法忽略了逗号,只是一个接一个地打印出数字。这是一个带有硬编码数字的示例:

byte[] bBuf = Encoding.ASCII.GetBytes("22108,");

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”。

逗号字符有什么特别之处会导致它被忽略,如果是这样,我该如何解决这个问题?

4

1 回答 1

0

您必须为逗号传递 0xBC - 看看这个http://msdn.microsoft.com/en-us/library/dd375731(v=vs.85).aspx

于 2011-04-08T15:08:46.660 回答