我在Delphi中运行以下代码: -
procedure TWebBrowserFrame.CopyToClipboard;
var
doc : IHTMLDocument2;
begin
SelectAll;//doc.execCommand('SelectAll', false, 0);
doc := browser.document as IHTMLDocument2;
if (doc <> nil ) then
begin
doc.execCommand('Copy', false, 0);
end;
end;
我正在尝试将Ihtmldocument2组件的内容复制到剪贴板。这段代码在某些系统上运行但不在其他系统上运行。它不在Windows 2008server r2和少数Windows 7机器上运行。我在所有系统上都看到内容被突出显示(因此selectAll应该正在运行)。但是内容不会被复制到剪贴板。 我已经尝试了https://msdn.microsoft.com/en-us/library/aa663363.aspx上的陈述。 我已经确保dhtmled.ocx和registeredit.dll已注册(虽然我不确定该版本)。 我还通过procmon.exe探索了发生的过程。我在copyto剪贴板成功的机器上看到,tryit.dll被调用的次数比在它不工作的机器上调用的次数多。而且在它运行的机器上没有调用mshtml.dll但是有一个调用(或者两个)在它不工作的机器上。
任何人都可以为此问题建议任何解决方案或解决方法吗?还有其他方法可以直接从浏览器框架复制到剪贴板吗? 谢谢!