Имитация нажатия ctrl + v через API - C#

Узнай цену своей работы

Формулировка задачи:

Нужно вставить текст в чужое приложение, решил вставлять через буфер обмену, соответственно нужно юзать API вставку. Пробовал так, но не работает. Помогите.
Листинг программы
  1. [DllImport("user32.dll")]
  2. public static extern void keybd_event(Keys bVk, byte bScan, UInt32 dwFlags, IntPtr dwExtraInfo);
  3. public const UInt32 KEYEVENTF_EXTENDEDKEY = 1;
  4. public const UInt32 KEYEVENTF_KEYUP = 2;
  5. private void button1_Click(object sender, EventArgs e)
  6. {
  7. keybd_event(Keys.Control, 0, 0, IntPtr.Zero);
  8. keybd_event(Keys.V, 0, 0, IntPtr.Zero);
  9. keybd_event(Keys.V, 0, KEYEVENTF_KEYUP, IntPtr.Zero);
  10. keybd_event(Keys.Control, 0, KEYEVENTF_KEYUP, IntPtr.Zero);
  11. }

Решение задачи: «Имитация нажатия ctrl + v через API»

textual
Листинг программы
  1. if ((TbKeys.Text == textBox4.Text.ToUpper()) && (TbKeys.Text != ""))
  2. {
  3.   Clipboard.SetText(textBox3.Text.ToString(), TextDataFormat.UnicodeText);
  4.   Thread.Sleep(30);
  5.   textBox3.Focus();
  6.   // или
  7.   textbox3.SetFocus();
  8.   SendCtrlhotKey('V');
  9. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.917 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут