【发布时间】:2014-10-18 16:45:39
【问题描述】:
我负责在 Windows CE 4.2 中将数据从 COM 1 发送到 COM 2。正在运行的应用程序从 COM 1 获取数据并以表单(我假设为文本框)的形式向用户显示。然后我必须获取该数据并将其发送到 COM 2。显示数据的程序正在使用 COM 1,我不知道如何劫持 COM 1。
我认为下一步是尝试做一个屏幕报废。不幸的是,这是一个紧凑的框架和旧版本,从大量研究来看,托管代码似乎是不可能的。我将使用的许多 API 函数都不可用;以 FindWindowEx 为例。
这就是我现在的位置。我创建了两个项目。一个运行一个文本框和一些措辞。一个单独的应用程序运行并尝试读取该 TextBox 中的文本。我已经能够使用 FindWindow API 根据表单的名称找到正在运行的进程。使用我在这个网站上找到的代码,我什至能够通过表单的控件进行枚举。但是,我的 TextBox 从未找到,并且许多已找到的控件从未由我自己放置在表单上(列表框、按钮)。我认为这些是表单的初始控件。
有人有这方面的经验吗?目前这是在 C# 中,但 VB 或 Visual C++ 会很好。即使您对第三方应用程序有任何想法。顺便说一句,我没有选择升级到更高版本的紧凑框架。
谢谢。
我刚刚发现的一个更新。它看起来不像我只筛选新数据,而是必须筛选整个屏幕并将其发送到 COM2。有人会扫描条形码,我会通过 COM2 发送所有屏幕数据。数据可能包括图片等。
【问题讨论】:
-
当前使用 COM1 的现有应用程序是否能够将其配置为使用不同的 COM 端口,或者是否硬编码为 COM1?
-
TE2000 确实提供了更改 COM 端口的功能,但在这种情况下,这是硬件要求。
标签: c# vb.net winapi compact-framework windows-ce