private bool nonKeysEntered = false;
public void MyKeyUp(object sender, KeyEventArgs e)
{
nonKeysEntered = false;
if (e.KeyCode == Keys.Space)
{
KeyboardSend.KeyDown(Keys.ControlKey);
KeyboardSend.KeyDown(Keys.S);
nonKeysEntered = true;
}
}
public void MyKeyPress(object sender, KeyPressEventArgs e)
{
if (nonKeysEntered) e.Handled = true;
}
static class KeyboardSend
{
[DllImport("user32.dll")]
private static extern void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo);
private const int KEYEVENTF_EXTENDEDKEY = 1;
private const int KEYEVENTF_KEYUP = 2;
public static void KeyDown(Keys vKey)
{
keybd_event((byte)vKey, 0, KEYEVENTF_EXTENDEDKEY, 0);
}
public static void KeyUp(Keys vKey)
{
keybd_event((byte)vKey, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);
}
}
Открываю блокнот, нажимаю клавишу пробел
, срабатывает комбинация ctrl+s
и после этого, такое ощущение, будто эти клавиши нажаты остаются навсегда (скролю в браузере - происходит увеличение/уменьшение страницы и т.д)
Помогите, пожалуйста, понять, в чем ошибка? В данный момент остановился на коде выше.
Виртуальный выделенный сервер (VDS) становится отличным выбором
В общем, есть окно, где есть комбобокс с десятками ссылок на картинку весом ~2 мб и разрешением 5037x3657
У меня есть файл в котором есть начало считывания строкового значения C1 00 00 00 (193 офсет) и кол-во строк 0F 00 00 00 (15), строки разделяются 0x00 + 8 левых...
Для вывода картинки в WPF я конвертирую иконку от файла в формате bitmap в формат, который будет отображаться в контролеВот код