2011-04-08 48 views
1

我有一個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」。

有沒有什麼特殊的關於逗號字符導致它被忽略,如果是的話,我該如何解決這個問題?

+0

你爲什麼不把剪貼板上,而不是模擬用戶輸入的數據? – phoog 2011-04-08 15:04:18

回答