ポートの設定をプログラムから変更できるようにした
- 'D' ポートの設定ダイアログが開いて設定ができる
@@ -470,7 +470,19 @@ | ||
470 | 470 | retval = ERROR_SUCCESS; |
471 | 471 | break; |
472 | 472 | } |
473 | + case OPEN_CONFIG_DIALOG: { | |
474 | + COMMCONFIG cc; | |
475 | + DWORD size = sizeof(cc); | |
476 | + BOOL r = GetCommConfig(p->h, &cc, &size); | |
477 | + assert(r == TRUE); | |
478 | + r = CommConfigDialogW(p->port_name, NULL, &cc); | |
479 | + if (r == TRUE) { | |
480 | + r = SetCommConfig(p->h, &cc, size); | |
481 | + assert(r == TRUE); | |
482 | + } | |
483 | + break; | |
473 | 484 | } |
485 | + } | |
474 | 486 | |
475 | 487 | va_end(ap); |
476 | 488 | return retval; |
@@ -40,6 +40,7 @@ | ||
40 | 40 | SET_COM_TIMEOUTS, |
41 | 41 | SET_CHECK_LINE_STATE_BEFORE_SEND, |
42 | 42 | GET_CHECK_LINE_STATE_BEFORE_SEND, |
43 | + OPEN_CONFIG_DIALOG, | |
43 | 44 | } device_ctrl_request; |
44 | 45 | |
45 | 46 | typedef struct device { |
@@ -40,6 +40,7 @@ | ||
40 | 40 | "'s' send big data\n" |
41 | 41 | "'l' disp line state\n" |
42 | 42 | "'L' check line state before sending\n" |
43 | + "'D' open device dialogbox\n" | |
43 | 44 | " send mode\n" |
44 | 45 | "':' go command mode\n" |
45 | 46 | ); |
@@ -389,6 +390,10 @@ | ||
389 | 390 | check_line_state = i; |
390 | 391 | break; |
391 | 392 | } |
393 | + case 'D': { | |
394 | + ope->ctrl(dev, OPEN_CONFIG_DIALOG); | |
395 | + break; | |
396 | + } | |
392 | 397 | case ':': { |
393 | 398 | printf("\nsend mode\n"); |
394 | 399 | command_mode = false; |