【问题标题】:Embedded Excel COM Object clipboard interefernce嵌入式 Excel COM 对象剪贴板干扰
【发布时间】:2012-03-13 10:00:10
【问题描述】:

我正在编写嵌入 Excel 的 C\C++ 程序并处理它的 COM 对象。 这种自动化过程可以完美地处理工作表并利用 excel 功能。

M 问题是在处理数据时我使用复制/粘贴操作,因此如果处理需要一些时间,则可能会发生干扰,因为剪贴板在运行的进程之间是常见的

我不知道是否有办法私有化剪贴板或任何其他想法来避免此类问题

提前致谢

【问题讨论】:

    标签: excel com clipboard ole


    【解决方案1】:

    您不能制作私人剪贴板并期望它可以与正常的剪切/复制/粘贴操作一起使用。您可以使用延迟来避免剪贴板冲突。即在您强制复制操作后,等待几百毫秒再粘贴。

    此外,以编程方式使用剪贴板被认为是不好的做法。提供剪贴板是为了方便用户,而不是程序员。请参阅我最喜欢的关于该主题的报价:

    “程序不应该将数据传输到我们的剪贴板之外 没有用户的明确指示。” — 查尔斯·佩佐德, 《Windows 3.1 编程》,微软出版社,1992 年

    【讨论】:

    • 感谢您的回复!
    • 感谢您的回复!首先,我想确认最终用户知道他的剪贴板被我的程序操纵,但我的问题是防止剪贴板干扰可能发生在我的应用程序和最终用户正在执行的其他活动/应用程序之间 - 你否认私人剪贴板会有所帮助,但您没有否认可能存在私人剪贴板,是否可以为某些进程提供私人剪贴板? - 能否解释一下你建议的延迟的目的,如何延迟过去的操作以最小化/消除干扰再次感谢您
    【解决方案2】:

    我找到了一种用于 PowerShell 脚本的方法:

    • 创建一个调用您的脚本/程序的计划任务
    • 将其设置为“无论用户是否登录都运行”

    当您运行计划任务时,Windows 会在后台会话中启动脚本/程序,该会话使用自己的剪贴板,不会干扰您拥有的活动会话。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-29
      • 1970-01-01
      • 1970-01-01
      • 2020-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多