Есть функция:
void GenerateKey(int vk, BOOL bExtended) {
KEYBDINPUT kb = {0};
INPUT Input = {0};
if (bExtended) { kb.dwFlags = KEYEVENTF_EXTENDEDKEY; }
kb.wVk = vk;
Input.type = INPUT_KEYBOARD;
Input.ki = kb;
SendInput(1, &Input, sizeof(Input));
ZeroMemory(&kb, sizeof(KEYBDINPUT));
ZeroMemory(&Input, sizeof(INPUT));
kb.dwFlags = KEYEVENTF_KEYUP;
if (bExtended) { kb.dwFlags |= KEYEVENTF_EXTENDEDKEY; }
kb.wVk = vk;
Input.type = INPUT_KEYBOARD;
Input.ki = kb;
SendInput(1, &Input, sizeof(Input));
return;
}
При вводе обычных букв/цифр всё работает отлично.
Если на вход идут другие символы, то они не эмулируются. Как исправить?
Input:
VARIABLE TN
VARIABLE TID
VARIABLE TNN
VARIABLE TS
VARIABLE TO
: TAKE
TID ! TN !
TN @ 0 < IF ." NUM < 0" -1 TO ! EXIT THEN
TID @ COUNTITEM CIO @ TN @ < IF ." IN CHEST TOO FEW ITEMS!" -2 TO ! EXIT THEN
SORTSLOTS 1 - 0
DO
IF
THEN
LOOP
Output: VARIABLE TN VARIABLE TID VARIABLE TNN VARIABLE TS VARIABLE TO TAKE TID TN TN 0 IF NUM 0 1 TO EXIT THEN TID COUNTITEM CIO TN IF IN CHEST TOO FEW ITEMS 2 TO EXIT THEN SORTSLOTS 1 0 DO IF THEN LOOP
есть функция, возвращающая string а её результат нужно внести в QListWidget который принимает на вход QSringListна обычный оператор = между string и QString компилятор...
Что делает спецификация noexcept? Я думал, что она не позволит функции кинуть исключение, но это не так, функция: