と を使用した単純な Windows フォーム アプリケーションがありTextBoxますButton。をクリックすると、Buttonフォーカスが置かれ、TextBoxキーストロークがシミュレートCtrl + Cされて、コンテンツがクリップボードにコピーされます。このキーシミュレーションを で行っておりSendInput、 も試しSendKeys.Send("^c")ました。コンテンツをメモ帳などに貼り付けることで確認できるため、これはコピー操作に対して適切に機能します。
次に、このコピーされた値をプログラムで取得したいと考えていますClipboard.GetText。ただし、問題は、このメソッドが現在の値ではなく、クリップボードの以前の値を常に返すように見えることです。たとえば、my の値のシーケンスがTextBox「hello」、「world」の場合、出力のシーケンスは「junk」、「hello」です。SendKeys以下は、簡単にするためにメソッドを使用した私のコードです。
... highlight TextBox value...
SendKeys.Send("^c");
Thread.Sleep(100);
Console.WriteLine(Clipboard.GetText());