Ввод основного диалогового окна для реализации стробоскопического освещения - PullRequest
1 голос
/ 06 июня 2011

Я подключил фотографическую вспышку к своему компьютеру с помощью релейного переключателя, подключенного к последовательному порту. Следующий код заставляет стробоскоп мигать с частотой 4 Гц в течение 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;
}

Как реализовать диалоговые окна в начале программы, чтобы пользователь мог вводить значения 'freq' и 'iterations'?

1 Ответ

0 голосов
/ 06 июня 2011
  1. Откройте Visual Studio, New, Project, Visual C ++, приложение Windows Forms.Это даст вам графический интерфейс, где вы можете перетаскивать то, что вам нужно.Если у вас нет Visual Studio, то, возможно, в вашей IDE есть что-то похожее?

  2. Сделать это консольным приложением, которое принимает данные в командной строке.Вызовите приложение с соответствующей командной строкой из GUI, созданного на любом другом языке программирования / каркасе.

  3. Создайте GUI в C # и используйте P / Invoke для вызова CreateFile;это не так сложно.

Кстати, действительно ли работает подход CreateFile / CloseHandle?Я нахожу это немного "хакерским", и я не уверен, что это лучший подход.Возможно, другой ответ или комментарий затронут и этот аспект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...