ExecCommand无法在所有系统上运行

时间:2015-01-30 05:52:07

标签: c# windows delphi internet-explorer execcommand

我在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但是有一个调用(或者两个)在它不工作的机器上。

任何人都可以为此问题建议任何解决方案或解决方法吗?还有其他方法可以直接从浏览器框架复制到剪贴板吗? 谢谢!

0 个答案:

没有答案