Имитация нажатия 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');
}

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


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

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

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