我想插入字符串值到第三方應用程序說,記事本。以下是我正在使用的代碼模擬鍵盤事件
[DllImport("user32.dll")]
static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, UIntPtr dwExtraInfo);
public void sim_type(string txt)
{
const int KEYEVENTF_EXTENDEDKEY = 0x1;
const int KEYEVENTF_KEYUP = 0x2;
byte[] ASCIIValues = Encoding.ASCII.GetBytes(txt);
foreach (byte keyCode in ASCIIValues)
{
Console.WriteLine("Ascii Values = " + keyCode);
keybd_event(keyCode, 0x45, KEYEVENTF_EXTENDEDKEY, (UIntPtr)0);
keybd_event(keyCode, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, (UIntPtr)0);
}
}
我正在給示例文本消息例如「這是測試消息」。 我正在獲取正確的ascii值。 但是在相應的示例消息的目標文本框中,我正在獲取此輸出。
T89 9 1 13:38 02/12/2010513:38 02/12/2010 -5175
能有人幫助解決這個問題。我還投入控制檯打印的ASCII值
消息話題:這是一個測試消息
{
ASCII值= 84個ASCII值= 104個
ASCII值= 105
Ascii值= 115
Ascii值= 32
Ascii值= 105
Ascii值I值= 115個
ASCII值= 32個
ASCII值= 97個
ASCII值= 32個
ASCII值= 116個
ASCII值= 101個
ASCII值= 115個
ASCII值= 116個
ASCII值= 32個
ASCII值= 109個
ASCII值= 101個
ASCII值= 115個
ASCII值= 115
個 ASCII值= 97個
ASCII值= 103個
ASCII值= 101
}
請有人幫助 謝謝, Nikil
下面是如何使用[SendKeys](http://msdn.microsoft.com/zh-cn/library/ms171548.aspx)執行此操作的示例。 – detunized 2010-12-02 14:20:50