Есть такой код:
int Switch5 = ProcessMemoryReaderApi.GetKeyState(0xA1);
if ((Switch5 & 0x8000) != 0)
{
act = !act;
if (act)
Console.WriteLine("true");
else Console.WriteLine("false");
}
При нажатии клавиши SHIFT - программа заходит сюда. Но! Если его держать и не отпускать - bool act быстро изменяется с false на true. Как можно сделать так, чтобы при нажатии shift act была true, даже в том случае, если его держать постоянно? А при нажатии на shift ещё раз - переменная изменялась на false
Как насчет самой простой защиты
private volatile bool _IAmWorking;
public void KeyEventHandler(EventArgs event)
{
if (_IAmWorking) return;
_IAmWorking = true;
......
_IAmWorking = false;
}
Для однопоточного варианта, вы можете отследить, когда кнопка была нажата и когда отжата
private bool _canRunLogic = true;
public void ShiftKeyDownEventHandler(EventArgs event)
{
if (!_canRunLogic) return;
_canRunLogic = false;
......
}
public void ShiftKeyUPEventHandler(EventArgs event)
{
_canRunLogic = true;
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Имеется такого рода вопрос, необходимо распарсить HTML страничку на GroovyНагуглил сторонние библиотеки, однако проблема заключается в том, что...
Имеется TextSwitcher, в котором я программно обновляю показываемый текстСтиль для этого текста я устанавливаю через styles
Как можно вместо точек слайдера, отображать цифры (те