Показать сообщение отдельно
Старый 14.01.2008, 09:21
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 2  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
>>Прочитал здесь насчет перехвата событий через dll,
может этим путем пойти?
этим путем пойти, конечно, можно. только стоит ли оно того? альт-таб - это системная функция. нужно будет хорошо потрудиться, что бы ее отключить из цинка. а вдруг пользователям это и не нужно совсем? да и не понравится может многим такое "грубое вмешательство" в любимую систему и отключение привычной функции.
или же веские основания есть все-таки? тогда поможет
Код:
BOOL RegisterHotKey(

    HWND hWnd,	// window to receive hot-key notification
    int id,	// identifier of hot key
    UINT fsModifiers,	// key-modifier flags
    UINT vk 	// virtual-key code
   );
после непродолжительных поисков нашел еще
Код:
BOOL SystemParametersInfo(

    UINT uiAction,	// system parameter to query or set
    UINT uiParam,	// depends on action to be taken
    PVOID pvParam,	// depends on action to be taken
    UINT fWinIni 	// user profile update flag
   );
эту функцию можно вызывать прямо из цинка, подключив user32.dll.
Цитата:
В некоторых случаях (например, при работе в полноэкранном режиме, показе своей презентации или экранной заставки ...) бывает полезно заблокировать перечисленные комбинации клавиш. Они блокируются при работе системы в режиме "экранная заставка" , который в свою очередь несложно включить и выключить:

// Включение режима
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, 0, 0);
// Выключение режима
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 0, 0, 0);
численное представление константы SPI_SCREENSAVERRUNNING есть 97. то бишь можно вызывать так
SystemParametersInfo(97, 0, 0, 0);
...
ха-ха. под XP не катит. тогда хук ставить. про хуки см статью в ссылках по ZInc "слушаем систему". примерчик может изготовлю по-позже, но сейчас некогда.


Последний раз редактировалось alexcon314; 14.01.2008 в 11:33.