我已经使用连接到串行端口的继电器开关将摄影闪光灯装置连接到我的计算机。以下代码使闪光灯以 4Hz 的频率闪烁 10 次:
#include <windows.h>
//Initialise Windows module
int WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil)
{
//Define the serial port precedure
HANDLE hSerial;
int freq = 4;
int iterations = 10;
int x;
for ( x = 0; x < iterations; x++)
{
//Fire the flash (open the serial port, and immediately close it)
hSerial = CreateFile("COM1",GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
CloseHandle(hSerial);
//Sleep in between flashes for specified duration
Sleep (1000/freq);
}
return 0;
}
如何在程序开始时实现对话框,以便用户可以输入“频率”和“迭代”的值?
最佳答案
打开 Visual Studio,新建,项目, Visual C++,Windows 窗体 应用。这会给你一个 GUI,您可以在其中拖放什么 你需要。如果你没有视觉 Studio 那么也许你的 IDE 有 类似的东西?
使它成为一个在命令行中接受数据的控制台应用程序。从以任何其他编程语言/框架创建的 GUI,使用适当的命令行调用应用。
用C#制作GUI,使用P/Invoke调用CreateFile;没那么难。
顺便说一句,CreateFile/CloseHandle 方法真的有效吗?我发现它有点“hacky”而且我不确定这是最好的方法。也许另一个答案或评论也会触及这方面。
关于c++ - 频闪灯实现的基本对话框输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6255445/