Обновил, скачайте архив из первого поста и замените длл в папке кибор. Зависать не должно, если за 3 секунды не откроется порт, то вернёт код ошибки -1, если порт откроется, но команда не выполнится, то вернёт код ошибки число меньше -1. Если команда выполнилась вернёт 1.
CODE:string path_to_dll = "Arduino.dll";
external(INT, "get_port", "get_port", path_to_dll);
external(INT, "set_port", "set_port", path_to_dll);
external(INT, "set_delay_key", "set_delay_key", path_to_dll);
int com = get_port(2341, 8036); // узнать в каком com порте находится ардуино, передаются VID и PID
if(com==0)
{
messagebox("Arduino с указанными VID и PID не найдено");
goto end;
}
int result;
result = set_port(com); // установить порт, в него будут отправляться команды из длл
messagebox(result); // результат выполнения
result = set_delay_key(30); // установить паузу между нажатием и отпусканием клавиш
messagebox(result); // результат выполнения
end:;
Результат можно не возвращать в переменную, т. е. можно так и так:
CODE:int result = set_port(com);
set_port(com);