Модераторы: diadiavova, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запрет нажатия Windows комбинаций клавиш... 
:(
    Опции темы
xXxSataNxXx
Дата 11.6.2010, 20:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 25.12.2009

Репутация: 1
Всего: 1



Как можно запретить нажатие таких комбинаций клавишь, как Ctrl+Alt+Delete,Ctrl+Esc,Alt+Tab и т.д.?
PM MAIL   Вверх
Pilger
Дата 11.6.2010, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 10.5.2008
Где: Германия

Репутация: нет
Всего: нет



Через реестр можно. Но в любой момент можно включить обратно.


--------------------
Ein Leben nach der Schleife existiert, nur wenn die Schleife terminiert.
PM MAIL ICQ   Вверх
xXxSataNxXx
Дата 11.6.2010, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 25.12.2009

Репутация: 1
Всего: 1



Не, через реестр не подходит, надо сделать так, чтоб отключались комбинации вовремя запуска программы во весь экран, а когда сворачиваешь, то обратно включались...
PM MAIL   Вверх
Pilger
Дата 11.6.2010, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 10.5.2008
Где: Германия

Репутация: нет
Всего: нет



В виндоусах (не старых) эти кнопки в целях безопасности так просто заблокировать нельзя. Но через реестр можно отключать и включать когда угодно, если права есть.


--------------------
Ein Leben nach der Schleife existiert, nur wenn die Schleife terminiert.
PM MAIL ICQ   Вверх
xXxSataNxXx
Дата 11.6.2010, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 25.12.2009

Репутация: 1
Всего: 1



Ну, допустим игры, во многих играх отключаются эти комбинаци клавиш, и пока из неё не выйдешь, они не действуют, а если на клаве есть дополнительные кнопки, типо переключение приложения, то можно свернуть игру, и тогда работаю эти комбинации клавиш, и у игр нет прав на управление реестром...
PM MAIL   Вверх
diadiavova
Дата 12.6.2010, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 8
Всего: 142



xXxSataNxXx, если речь о том, чтобы не срабатывали сочетания пока окно активно, просто надо перехватывать нажатие этих клавиш и в обработчике ничего не делать.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
xXxSataNxXx
Дата 12.6.2010, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 25.12.2009

Репутация: 1
Всего: 1



А можно намекнуть как это сделать, чтоб хотябы WinKey отключить... smile
PM MAIL   Вверх
diadiavova
Дата 12.6.2010, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 8
Всего: 142



Цитата(xXxSataNxXx @  12.6.2010,  11:30 Найти цитируемый пост)
А можно намекнуть как это сделать, чтоб хотябы WinKey отключить...

звиняюсь, пропёрся. Так не работает. От контрол+таба в принципе можно защититься установив свойство TopMost в True(видимо не совсем то что нужн, но всё же). На счёт остального не знаю.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
xXxSataNxXx
Дата 12.6.2010, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 25.12.2009

Репутация: 1
Всего: 1



Я нашёл 2 примера отключения, но у меня не работает, выдаёт ошибку
Код

Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, lpvParam As String, ByVal fuWinIni As Long) As Long  
Private Const SPI_SCREENSAVERRUNNING = 97&  
Public Sub AllowKeys(bParam As Boolean)  
Dim lRetVal As Long, bOld As Boolean  
lRetVal = SystemParametersInfo(SPI_SCREENSAVERRUNNING, bParam, bOld, 0&)  
End Sub  
Private Sub Form_Load()  
Call AllowKeys(True) 'блокировка сочетаний  
End Sub  
Private Sub Form_Unload(Cancel As Integer)  
Call AllowKeys(False) 'разблокировка сочетаний  
End Sub  

Код

Const SPI_SCREENSAVERRUNNING = 97  
Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" _  
(ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As String, ByVal fuWinIni As Long) As Long  
Private Sub Command1_Click()  
Call SystemParametersInfo(SPI_SCREENSAVERRUNNING, True, "1", 0)  
End Sub  
Private Sub Command2_Click()  
Call SystemParametersInfo(SPI_SCREENSAVERRUNNING, False, "1", 0)  
End Sub  
Private Sub Form_Unload(Cancel As Integer)  
Call SystemParametersInfo(SPI_SCREENSAVERRUNNING, False, "1", 0)  
End Sub  

Может не работает в Visual Studio 2010, незнаю, но ошибка выходит, но не критическая...

Это сообщение отредактировал(а) xXxSataNxXx - 12.6.2010, 10:53
PM MAIL   Вверх
diadiavova
Дата 12.6.2010, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 8
Всего: 142



Что-то мне подсказывает, что это код на VB6. Там некоторое вещи отличаются, например тип Long надо заменить на Integer, Call сейчас не используется, кроме того, судя по всему методы типа Form_Load - это обработчики событий, а в VB.Net обработчики назначаются немного иначе, да и сигнатура у них другая. Воспользуйся инструментом апгрейда кода.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Pilger
Дата 12.6.2010, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 10.5.2008
Где: Германия

Репутация: нет
Всего: нет



То, что ты дал, работает только на старых виндоусах. На XP и т.д. это не прокатит. CTRL+ALT+DEL так просто не заблокируешь. Я думаю тебя это больше всего интересовало. А вообще глобальное нажатие клавиш можно через хуки отлавливать.


--------------------
Ein Leben nach der Schleife existiert, nur wenn die Schleife terminiert.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума VB .NET
diadiavova
  • Прежде чем задать вопрос, воспользуйтесь поиском: возможно Ваш вопрос уже обсуждался и на него был получен ответ.
  • Если такой же вопрос не найден, не стоит задавать свой вопрос в любую тему, создайте новую.
  • Заголовок темы должен отображать ее суть.
  • Содержание поста должно описывать проблему понятно, но в то же время, по возможности, лаконично. Сначала следует описать суть вопроса, потом можно привести пример кода, не вынуждайте других участников угадывать в чем Ваша проблема - телепатов здесь нет.
  • Будьте взаимно вежливы и дружелюбны.
  • При оформлении сообщений используйте форматирование, примеры кода заключайте в теги [CODE=vbnet][/CODE].
  • Также ознакомьтесь с общими правилами, действующими на всем форуме.
  • Если вопрос решен, не забывайте помечать тему решенной(вверху темы есть ссылка). Кроме того, если Вы хотите отблагодарить участников, оказавших помощь в решении, можно повысить им репутацию, в случае, если у Вас менее 100 сообщений в форуме и функция изменения репутации Вам недоступна, можете написать сюда.
  • Общие вопросы по программированию на платформе .NET обсуждаются здесь.
  • Литература по VB .NET обсуждается здесь.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0973 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.