这是交易:我创建了一个数据传输程序,通过串口发送信息给我的Arduino。我还创建了一个简单的发射器"具有基本UI的程序,供用户选择COM端口并启动程序。它基本上只是一个Windows窗体应用程序,带有一个用于COM端口的DropDown组合框和一个" Launch"启动转移程序的按钮。
启动器和传输程序分开,因此我需要一种方法让传输程序在启动程序之前获取用户在Launcher上选择的串行端口的信息。
我查看了配置文件,共享txt文件等,但只发现过于复杂的程序。
任何帮助将不胜感激!
谢谢,
Frazic
答案 0 :(得分:2)
有一些方法可以做到这一点
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调用它。使用该解决方案,您可以在传输程序运行时双向传输数据。
Walkthrough: Creating and Using a Dynamic Link Library (C++)
3. 在调用传输程序之前,在config.txt文件中从GUI写入COM信息。现在您的转移程序可以从文件中读取信息
4. 使用WinAPI从其他进程读取内存。这不是一种常见的方式,但它有效。寻找正确的价值并不容易,所以我更倾向于第1 - 3点。
答案 1 :(得分:0)
您可以将数据作为命令行参数传递。
您可以在环境中传递数据。
您可以将数据传递到磁盘上的文件中。
您可以通过两个程序之间的管道或套接字传递数据。
您可以通过共享内存传递数据。
还有更多...... 有很多选择。