char inBuf[] = { 0x1d, 0x72, 0x01 }; //0x1d, 0x72, 0x01 //0x1b,
0x05,0x50,0x00
int inBufSize = sizeof(inBuf);
DWORD ReturnedLength = 0, eror;
byte sim[256];
OVERLAPPED OverlapWRT;
OverlapWRT.OffsetHigh = 1;
OverlapWRT.Offset = 1;
OverlapWRT.hEvent = CreateEvent(NULL, false, false, NULL);
OVERLAPPED OverlapRD;
OverlapRD.OffsetHigh = 0;
OverlapRD.Offset = 0;
OverlapRD.hEvent = CreateEvent(NULL, false, false, NULL);
if (usbCB->SelectedItem !=nullptr) {
// Создание файла USB
pin_ptr<const wchar_t> wch = PtrToStringChars(usbCB->SelectedItem->ToString());
bool y = hUsb = CreateFile(wch,
GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED,
NULL);
if (!y) {
eror = GetLastError();
}
}
if (comCB->SelectedItem != nullptr) {
// Создание файла COM
pin_ptr<const wchar_t> wch = PtrToStringChars(comCB->SelectedItem-
>ToString());
bool y = hUsb = CreateFile(wch,
GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED,
NULL);
if (!y) {
eror = GetLastError();
}
}
if (hUsb == INVALID_HANDLE_VALUE)
{
statusLB->Text = "Файл устройства не создан";
return;
}
// очистка мусора порта
PurgeComm(hUsb, PURGE_RXCLEAR);
PurgeComm(hUsb, PURGE_TXCLEAR);
//Крнфигурация порта
DCB dcb;
dcb.DCBlength = sizeof(dcb);
dcb.BaudRate = CBR_9600;
dcb.fBinary = TRUE;
dcb.fOutxCtsFlow = FALSE;
dcb.fOutxDsrFlow = FALSE;
dcb.fDtrControl = DTR_CONTROL_HANDSHAKE;
dcb.fDsrSensitivity = FALSE;
dcb.fNull = FALSE;
dcb.fRtsControl = RTS_CONTROL_DISABLE;
dcb.fAbortOnError = FALSE;
dcb.ByteSize = 8;
dcb.Parity = NOPARITY;
dcb.StopBits = ONESTOPBIT;
SetCommState(hUsb, &dcb);
// Установка таймаута
COMMTIMEOUTS CommTimeOuts;
CommTimeOuts.ReadIntervalTimeout = 10;
CommTimeOuts.ReadTotalTimeoutMultiplier = 10;
CommTimeOuts.ReadTotalTimeoutConstant =10;
CommTimeOuts.WriteTotalTimeoutMultiplier = 10;
CommTimeOuts.WriteTotalTimeoutConstant = 10;
bool yes = SetCommTimeouts(hUsb, &CommTimeOuts);
if (!yes)
eror = GetLastError();
//Пишем
Success = WriteFile(hUsb, inBuf, inBufSize, &ReturnedLength, &OverlapWRT);
ReturnedLength = 0;
//Читаем
Success = ReadFile(hUsb, &sim, sizeof(sim), &ReturnedLength, &OverlapRD);
Есть данная программа которая работает с принтером, проблема заключается в том что при попытке прочитать с ком порта ничего не происходит, но если запустить программу (ToolBox zebra) и отправить хотя бы один бай , а потом зайти в данную программу то все работает, файл читается ? как решить данный вопрос ?
Виртуальный выделенный сервер (VDS) становится отличным выбором
Нужно перегрузить оператор "=" (присваивания для следующих типов данных)
Есть QTextEdit с фиксированной ширинойНужно, чтобы при заполнении его текстом он расширялся вверх, однако просто включается скролл бар
Подскажите, допустим есть слайдер slick, выводящий карусель товаров, и при клике на определённом товаре нужно, чтобы выбранный товар открылся...