クリップボード経由で、別のソフトに自動的に入力するソフトを作りました。
ようは、クリップボードに文字をコピーして、キーボードをエミュレートして、貼り付ける単純なもの。
ただ、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);
よろしく御願い致します。
最後に
Clipboard.AsText := '';
>名前とタイトルが逆でしたね。^^;
意図的なのでしょうか。
あ、ごめんなさい。
日頃使っている掲示板とレイアウトが違うので、間違えていました。
次は変えます。^^;
質問がすこし分かりにくかったですね。
クリップボードは消したくはないのですよ。
’たぬき’という情報がすでにクリップボードにあり、自作のソフトで、’入力データ’が入力されます。
この’入力データ’だけを削除して、’たぬき’をペースト出来る状態にしたいのですが・・・。
あー、そうか。
先に、’たぬき’を保存して、再度クリップボードに再度、送ればよかったのですね。
とはいえ、文字列と画像では、型が違うから、その辺は条件分岐させるしかないか。
Clipboard.AsText[0].delete
みたいなのを期待していたのですが・・・。
ありがとうございました。
ツイート | ![]() |