1

我实际上负责 FIP 网络 c++ 应用程序,第一次使用 Embarcadero C++ Builder XE5。该应用程序即将完成,但我找不到如何实现最后一个功能......

我想打开一个外部 Windows 超级终端,以查看给定 COM 端口上发生的情况,为此我使用 ShellExecute() 从我的应用程序启动它,但它有点难看,因为有 2 个不同的窗口。

我想知道是否可以将这个新打开的超级终端集成到现有表单(例如面板)中。 除了这个 => Delphi style之外,我找不到任何相关的东西,但我不明白@mghie 答案的一个字节,因为它是 delphi。

如果有人有线索我真的很感兴趣,即使是最基本的线索!

4

2 回答 2

4

对于我几乎所有需要 COM 端口交互的项目,我都使用AsyncPro。该项目的文档很好,有约 1000 页的参考手册。

参考手册

开发者指南

对于这种情况,该软件包提供了一个 VCL 终端,可以简单地放到一个表格上。它非常灵活,有很多选项来配置其行为。

在此处输入图像描述 在此处输入图像描述

于 2014-02-07T13:32:06.250 回答
1

我过去想要类似的东西,但没有成功。

1.我唯一能做的事情恰恰相反。

  • 将我的 VCL 窗口停靠在另一个(不是 VCL 应用程序)中,但这解决了我的问题
  • 如果您的终端是控制台窗口,那么我怀疑甚至可以做到这一点。
  • 无论如何找到所需窗口的句柄
  • 查找可停靠子组件的句柄
  • 将子窗口的父级设置为它/或使用手动停靠

2.也许你可以做一些有趣的事情

  • 就像在某处隐藏终端
  • 并不断地将其图形复制到您的窗口
  • 更新了隐藏的东西
  • 但复制内容是可行的(尽管有时在 Windows 上有点不稳定)
  • 做过一次,用来自不同应用程序的红外摄像头馈送我的应用程序
  • 虽然“焦点”停留在隐藏终端上,但它应该可以工作
  • 如果您需要焦点,您也可以尝试以某种方式向其发布消息...

抱歉,答案含糊,但至少您看到了我的一些方法

  • 也许有人有更好的方法来做到这一点
于 2014-02-07T09:50:27.847 回答