2

クリップボードからオブジェクトを取得しようとしているときに、オブジェクトを変更して追加し直すという問題があります...

何度も何度も私は得続けます

クリップボードで要求された操作を実行できませんでした

クリップボードが何らかのプロセスによってロックされているようですが、クリップボードを解放するにはどうすればよいですか?

4

1 に答える 1

0

あなたはそれを解放することはできません。別のアプリでクリップボードが開いている場合は、クリップボードが閉じるまで待つ必要があります。クリップボードが最近(過去1〜2秒以内に)変更された場合は、他のアプリがクリップボードを開いて検査することを期待する必要があります。したがって、自分ですぐに開くことができると期待する場合は、失敗する可能性があります。try..exceptハンドラー、sleep()、および「3ストライク」ループを使用する必要があります。
擬似コード:

Success := false;
Attempts := 0;
While (Attempts < 3) and (Success = false) do
begin
  Try
    inc(Attempts);
    OpenClipboard;
    Success := true;
  except
    sleep(attempts * 1000);
  end
end;
于 2011-11-28T13:31:31.973 に答える