Windows 7中出现了问题,尽管我没有尝试在其他系统中复制它。我正在使用:
while Count <> SL.Count do
begin
SysUtils.Sleep(200);
Clipboard.AsText := SL[Count];
sendmessage(Appwin,WM_PASTE,0,0);
sendmessage(Appwin,WM_PASTE,0,0);
Keybd_event(VK_TAB, 0, 0, 0);
inc(Count);
end;
SL.Free;
Clipboard.AsText := TextoCompleto;
EditTexto.SelectAll;
TextoCompleto是一个字符串,只有文字/数字;
有时在使用该程序后,我在Adobe Reader最新版本11中收到此错误消息(我感觉它确实发生在其他程序中,但不是100%肯定)当我尝试使用ctr + c时:< / p>
"There was an error while copying to the Clipboard. An internal error occurred."
可能是什么原因?也许是因为我将剪贴板定义为文本?
答案 0 :(得分:1)
您经常访问剪贴板会发生什么,其他应用程序几乎没有机会访问它。当他们尝试在您的应用程序写入它的同时访问它时,它们会收到“拒绝访问”错误。然后,某些应用程序会立即失败并向用户显示错误消息(而不是重试几次)。
您应该减少剪贴板的锁定时间和访问频率,因为它是共享资源。
请阅读How can I fix "Cannot open clipboard: Access Denied" errors?,尤其是我引用此answer的Chris Thornton:
这可能与Vista / Win7如何处理剪贴板查看器有关 通知。虽然他们仍然支持XP“剪贴板查看器 chain“,它发送一条必须重新发送的通知消息 每个监听器轮流(如果一个应用程序无法执行此操作,则其他应用程序 没有通知)。从Vista开始,应用程序会直接通知。和 没有什么可以阻止他们尝试访问剪贴板 马上。
这意味着从Windows Vista开始,剪贴板上的压力可能高于Windows XP,应用程序应该更加小心地访问它。