Можно ли отключить сочетания клавиш для переключения задач в W7 с помощью Delphi?

В МОЕМ приложении в течение многих лет был режим, в котором клиент может «отключить доступ к ОС». Очевидно, что эта функция идет вразрез (по крайней мере, в отношении Windows), но есть установки, в которых мое приложение является единственной программой, которая должна быть видна оператору машины, и в этом случае такая функция полезна. Несколько лет назад исследование того, как отключить переключение задач, выявило единственный способ «притвориться», что ваше приложение является заставкой (кроме ужасных вещей, таких как переименование вашего приложения в «explorer.exe» и загрузка в него и т. Д.):

procedure EnableTaskSwitching( AState : boolean );
// Enables / disables task switching
begin
  SystemParametersInfo(
    SPI_SCREENSAVERRUNNING,
    Cardinal( not AState),
    nil,
    0 );
end;

Неудивительно, что это не действует в W7 (я думаю, что это работает в XP и т.д.). Кто-нибудь знает другой, лучший способ включения / отключения Alt-Tab (и других специальных клавиш Windows)?

9
задан Warren P 3 May 2011 в 13:48
поделиться