【问题标题】:Alternative to SendKeys that does NOT require an unlocked session不需要解锁会话的 SendKeys 替代方案
【发布时间】:2009-12-10 15:10:07
【问题描述】:

情况:

GUI 应用程序包含的功能(菜单选项外)可以为目录生成经常更新的图像。

已登录并运行的应用实例是此图像的唯一来源(功能“依赖于”显示设备)。我已经研究到死了 - 这是一个可悲的事实。

GUI 应用程序提供 COM 接口,但不提供生成图像的接口。

GUI 代码至少不能更改(大惊喜)。

要求:

其他进程在不同时间需要这些当前图像。

明显的解决方案:

创建 GUI 应用程序实例并使用 SendKeys 操作控件以生成图像的过程。

障碍(我需要详细说明)

除了 Sendkeys 的脆弱性 - 假设 Sendkeys 是可靠的......

当控制台会话被锁定时,Sendkeys 不能工作(锁定是生产要求)

SendMessage API 无法发送诸如“shift/letter”之类的组合键(调用菜单选项时需要)。

问题

当会话被锁定时,是否有任何其他方式以编程方式与应用交互?

Windows 服务能否在预定时间解锁/锁定会话 - 足够长以允许生成图像。

我知道,我知道,这是废话。任何高层次的想法和​​大多数意见都表示赞赏;)

【问题讨论】:

    标签: session sendmessage sendkeys locked


    【解决方案1】:

    虚拟电脑。

    锁定主机,而不是虚拟机。


    但要真正回答您的问题:我认为您不能将密钥发送到锁定的计算机。为什么?如果有多个登录会话怎么办?它会将密钥发送给哪个?

    【讨论】:

    • 好的,Virtual PC 是一个选项 - 谢谢。我仍然对实际生成(并需要)GUI 的运行实例的 COM 接口感到困惑。这让我大吃一惊。也许我误解了,但我认为 COM 的美妙之处在于您可以在不受实现约束的情况下获得功能。
    • COM 旨在将使用与实现分开(例如,只要接口不改变,实现就可以改变)。在这种情况下,听起来他们让人们使用界面来驱动他们的 UI;但是您仍在驱动界面。他们可以重新编码应用程序,以便他们的 UI 使用接口驱动底层逻辑 - 但是有多少收益就有多少收益......
    猜你喜欢
    • 1970-01-01
    • 2019-09-13
    • 1970-01-01
    • 2011-06-29
    • 2018-11-25
    • 2018-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多