我有一個C#程序在Windows Mobile 6.1設備上運行。它需要將逗號分隔的列表打印爲鍵盤事件,以便用戶可以將它們轉儲到當時打開的任何程序中。但是,keybd_event方法忽略了逗號並且只是一個接一個地打印出數字。這裏是硬編碼到它的一些示例:C#中的keybs_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」。
有沒有什麼特殊的關於逗號字符導致它被忽略,如果是的話,我該如何解決這個問題?
你爲什麼不把剪貼板上,而不是模擬用戶輸入的數據? – phoog 2011-04-08 15:04:18