Я пытаюсь вставить строковые значения в стороннее приложение, скажем, блокнот.Ниже приведен код, который я использую
[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 = 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
}
Пожалуйста, кто-нибудь помогите Спасибо, Никил