2

我有一个问题,我试图从剪贴板中检索对象修改它并将其添加回来......

我一次又一次地得到

剪贴板上请求的操作无法执行

看起来剪贴板被某个进程锁定了,如何释放剪贴板?

4

1 回答 1

0

你不能释放它。如果另一个应用程序打开了剪贴板,您必须等到它关闭它。如果剪贴板最近(在过去一两秒内)被修改过,您应该预计其他应用程序会打开它进行检查,因此如果您希望自己能够立即打开它,则应该预计会失败。您需要使用 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 回答