Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Эмуляция Ctrl+Alt+Delete при помощи keybd_event


Автор: Ak47black 25.8.2007, 15:55
Здравствуйте.
У меня чтото не получается сэмулировать Ctrl+Alt+Delete при помощи keybd_event.
Вот такой код сделал, и пробовал переставлять как лего по всякому, но всеровно не работает.
Код

  keybd_event(VK_CONTROL, 0, 0, 0);
  keybd_event(VK_LMENU, 0, 0, 0);
  keybd_event(VK_DELETE, 0, 0, 0);
  keybd_event(VK_DELETE, 0, KEYEVENTF_KEYUP, 0);
  keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);
  keybd_event(VK_LMENU, 0, KEYEVENTF_KEYUP, 0);

Как тут сделать, подскажите пожалуйста>  smile 
Я хочу именно сэмулировать.

Автор: volvo877 25.8.2007, 16:09
Ну, допустим VK_LMENU - это не Alt... Попробуй VK_MENU ...

Автор: Ak47black 25.8.2007, 16:18
volvo877, пробовал уже, тоже самое.

Автор: Alexeis 25.8.2007, 16:37
Ak47black, в принципе отжимать кнопки необязательно, окно появляется по событию нажатия...

Автор: Ak47black 25.8.2007, 16:42
Alexeis, Еше как обязательно, зачем их держать зажатыми?
Но если даже так всеровно ничего невидно  smile 
Код

  keybd_event(VK_CONTROL, 0, 0, 0);
  keybd_event(VK_LMENU, 0, 0, 0);
  keybd_event(VK_DELETE, 0, 0, 0);


Добавлено через 3 минуты и 26 секунд
И сам TaskManager кстати по KeyUp появляется.

Автор: Ak47black 25.8.2007, 17:06
Нашол ответ.
Цитата

WHen you press these 3 keys, they create a special electrical circuit that generates what is called an interrupt. THis is a signal to the CPU that something wants attention. The windows kernel drivers intercept this interrupt and go through the motions of whatever chunk of code is run, that shows the ctrl+alt+del screen. It cannot be replicated in software without writing your own kernel level keyboard driver or something.

Автор: EvilsInterrupt 25.8.2007, 19:31
Ak47black, В предь рекомендую указывать не только цитату из источника, но и сам источник. Т.к. этот источник может быть не знаком другому программисту

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)