如何将信息从启动器传递到我的程序?

How can I pass information from a launcher to my program?

这是交易:我创建了一个数据传输程序,通过串行端口将信息发送到我的 Arduino。我还创建了一个简单的 "launcher" 程序,其中包含一个基本的 UI 供用户使用 Select COM 端口并启动该程序。它基本上只是一个 Windows 表单应用程序,带有用于 COM 端口的下拉组合框和一个用于启动传输程序的 "Launch" 按钮。

Launcher 和 Transfer Program 分开,所以我需要一种方法让 Transfer Program 在启动之前获取用户在 Launcher 上选择的串口信息程序。

我查看了配置文件、共享的 txt 文件等,但除了过于复杂的程序外什么也没发现。

如有任何帮助,我们将不胜感激!

谢谢,

疯狂

您可以将数据作为命令行参数传递。

您可以在环境中传递数据。

您可以在磁盘上的文件中传递数据。

您可以在两个程序之间通过管道或套接字传递数据。

您可以通过共享内存传递数据。

还有更多... 有很多选择。

有一些方法可以做到这一点。
1. 使用参数启动程序 int main(int argc, char* argv[]) 如需更多信息:How to parse command line parameters. 您可以 运行 您的工具:system("C:\Program Files (x86)\MyProgram\transfer.exe ParamCOM");
2. 将您的传输程序放入一个 dll 中并从您的 GUI 中调用它。使用该解决方案,您可以在传输程序 运行ning 时双向传输数据。
Walkthrough: Creating and Using a Dynamic Link Library (C++)
3. 在调用传输程序之前,将来自 GUI 的 COM 信息写入 config.txt 文件。现在您的传输程序可以从文件中读取信息了。
4. 使用 WinAPI 从不同进程读取内存。这不是一种常见的方式,但它确实有效。搜索正确的值并不是那么容易,所以我更喜欢第 1 - 3 点。