【问题标题】:C# Interacting with existing executables in Windows CE using Compact Framework?C# 使用 Compact Framework 与 Windows CE 中的现有可执行文件交互?
【发布时间】:2009-12-18 16:44:20
【问题描述】:

我将如何使用 Compact Framework 与 Windows CE 上的现有可执行文件进行交互?

我认为我忽略了一些简单的事情。

这是场景:

我正在尝试编写一个小应用程序来执行一些常用功能,例如创建具有指定密码的用户。

windows 目录有一些我想使用的可执行文件。我遇到的问题是“passwd.exe”

这个可执行文件不能通过传递参数来使用。它会提示输入。

使用示例:

input>  passwd.exe MyUser
output> Current Password: [wait for input]
output> New Password: [wait for input]
output> Retype Password: [wait for input]

所以我在非移动框架中看到了 System.Diagnostics.ProcessStartInfo 的一些类似用途,但这似乎不是 Compact Framework 的选项。

提前致谢!

【问题讨论】:

    标签: windows-ce executable interaction


    【解决方案1】:

    与现有可执行文件的“交互”在很大程度上取决于可执行文件。

    首先,让我公开表示,我非常倾向于询问设备 OEM,他们是否有办法以编程方式完成所有这些工作,而不是试图将一些模拟的用户输入拼凑在一起。在这种情况下,应用程序可能会在系统中的某个位置设置该信息,因此如果您可以这样做并避免他们的应用程序 altogetehr,它会变得更干净。

    如果这不可用,那么如果您要与命令行选项交互的应用程序支持命令行选项,那么这将是最简单的。您可以使用 Process 和 ProcessStartInfo 类发送命令行参数。

    如果没有,那么您必须模拟实际的用户输入。再次,这将如何工作取决于您尝试与之交互的应用程序。根据您的描述,您很可能必须通过 P/Invoking PostKeyboardMessage 或 keydb_event 来模拟键盘敲击(SDF 有一个 SendKeys 的实现可以简化这一点)。

    请注意,在发送这些击键之前,您必须确保输入的目标窗口已聚焦。

    【讨论】:

      猜你喜欢
      • 2010-09-24
      • 1970-01-01
      • 1970-01-01
      • 2016-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-09
      相关资源
      最近更新 更多