国木田

解決


クリップボード内の一番上のデータを消すに  2009-07-21 06:23:41  No: 35168

クリップボード経由で、別のソフトに自動的に入力するソフトを作りました。
ようは、クリップボードに文字をコピーして、キーボードをエミュレートして、貼り付ける単純なもの。
ただ、1点気に入らない所があります。
この方法だと、クリップボードにデータが残ってしまうので、一部のデータを消す方法はないでしょうか?

一時的にクリップボードの中身を保存して、処理が終わったら元に戻しても、一番上のデータを削除する・・・でもいいんですが。

また、クリップボードに仮にコピーする以外に方法はないでしょうか?
入力データは日本語を含む可能性があります。

  Clipboard.AsText := '入力データ';

  keybd_event(VK_CONTROL,0,0,0);
  keybd_event(Ord('V'),0,0,0);
  keybd_event(Ord('V'),0,KEYEVENTF_KEYUP,0);
  keybd_event(VK_CONTROL,0,KEYEVENTF_KEYUP,0);

よろしく御願い致します。


TS  2009-07-21 08:04:04  No: 35169

最後に
Clipboard.AsText := '';

>名前とタイトルが逆でしたね。^^;
意図的なのでしょうか。


国木田  2009-07-21 08:29:06  No: 35170

あ、ごめんなさい。
日頃使っている掲示板とレイアウトが違うので、間違えていました。
次は変えます。^^;

質問がすこし分かりにくかったですね。

クリップボードは消したくはないのですよ。
’たぬき’という情報がすでにクリップボードにあり、自作のソフトで、’入力データ’が入力されます。
この’入力データ’だけを削除して、’たぬき’をペースト出来る状態にしたいのですが・・・。

あー、そうか。
先に、’たぬき’を保存して、再度クリップボードに再度、送ればよかったのですね。
とはいえ、文字列と画像では、型が違うから、その辺は条件分岐させるしかないか。
Clipboard.AsText[0].delete
みたいなのを期待していたのですが・・・。

ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加