と を使用した単純な 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());