Имитация нажатия ctrl + v через API - C#
Формулировка задачи:
Нужно вставить текст в чужое приложение, решил вставлять через буфер обмену, соответственно нужно юзать API вставку. Пробовал так, но не работает. Помогите.
[DllImport("user32.dll")]
public static extern void keybd_event(Keys bVk, byte bScan, UInt32 dwFlags, IntPtr dwExtraInfo);
public const UInt32 KEYEVENTF_EXTENDEDKEY = 1;
public const UInt32 KEYEVENTF_KEYUP = 2;
private void button1_Click(object sender, EventArgs e)
{
keybd_event(Keys.Control, 0, 0, IntPtr.Zero);
keybd_event(Keys.V, 0, 0, IntPtr.Zero);
keybd_event(Keys.V, 0, KEYEVENTF_KEYUP, IntPtr.Zero);
keybd_event(Keys.Control, 0, KEYEVENTF_KEYUP, IntPtr.Zero);
}Решение задачи: «Имитация нажатия ctrl + v через API»
textual
Листинг программы
if ((TbKeys.Text == textBox4.Text.ToUpper()) && (TbKeys.Text != ""))
{
Clipboard.SetText(textBox3.Text.ToString(), TextDataFormat.UnicodeText);
Thread.Sleep(30);
textBox3.Focus();
// или
textbox3.SetFocus();
SendCtrlhotKey('V');
}