Как вставить данные из буфера обмена в другое приложение в форме окна C # - PullRequest
0 голосов
/ 02 июня 2019

У меня есть форма, в которую я скопировал текст в буфер обмена, теперь мое требование заключается в том, чтобы после установки данных из буфера обмена я нажимал внутри другого приложения, такого как блокнот данные вставляются туда.

 private void ListView1_EPC_Click(object sender, EventArgs e)
    {
        string str = ListView1_EPC.SelectedItems[0].SubItems[1].Text;            
        Clipboard.SetText(str);
    }

спасибо заранее.

1 Ответ

0 голосов
/ 02 июня 2019

Это возможно: Вы можете прикрепить к общесистемному муссону.Это уже реализовано в C #, посмотрите здесь ... https://www.codeproject.com/Articles/7294/Processing-Global-Mouse-and-Keyboard-Hooks-in-C Этот проект предоставляет простое событие для глобальной мыши (компонент GlobalEventProvider).Затем вам нужно отправить ctrl-v с помощью SendKeys, когда эта мышь была нажата ...

public class ForeignWindowPasteHelper
{

private readonly GlobalEventProvider eventProvider = new GlobalEventProvider();

  public ForeignWindowPasteHelper()
  {
    this.eventProvider.MouseClick += this.GlobalMouseDown;
  }

  private void GlobalMouseDown(object sender, MouseEventArgs e)
  {
    SendKeys.Send("^{v}");
  }
}

Это будет вызывать Cntrl + V (Вставка) при каждом нажатии клавиши.Вам нужно будет реализовать некоторую логику, когда это должно быть запущено.Но это не сложно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...