На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела Visual Basic: Общие вопросы
Здесь обсуждаются вопросы по языку Visual Basic 1-6 (а так же по схожим языкам, как, например, PowerBASIC).
Вопросы по Visual Basic .NET (это который входит в состав Visual Studio 2002/2003/2005/2008+, для тех, кто не в курсе) обсуждаются в разделе .NET.

Обратите внимание:
1. Прежде чем начать новую тему или отправить сообщение, убедитесь, что Вы не нарушаете правил форума!
2. Обязательно воспользуйтесь поиском. Возможно, Ваш вопрос уже обсуждали. Полезные ссылки приведены ниже.
3. Темы с просьбой выполнить какую-либо работу за автора в этом разделе не обсуждаются. Студенты, вам сюда: ПОМОЩЬ СТУДЕНТАМ!
4. Используйте теги [ code=vba ] ...текст программы... [ /code ] для выделения текста программы подсветкой.
5. Помните, здесь телепатов нет. Формулируйте свой вопрос максимально грамотно и чётко: Как правильно задавать вопросы
6. Запрещено отвечать в темы месячной (и более) давности, без веских на то причин.

Полезные ссылки:
user posted image FAQ Сайта user posted image FAQ Раздела user posted image Кладовка user posted image Наши Исходники user posted image API-Guide user posted image Поиск по Разделу user posted image MSDN Library Online user posted image Google

Ваше мнение о модераторах: user posted image SCINER, user posted image B.V.
Модераторы: SCINER, B.V.
  
> Горячие клавиши
    Если я в текстбоксе нажимаю некую комбинацию клавиш, а она зарегистрирована как хоткей другой прогой, я получаю только нажатия управляющих клавиш, а символьную нет (фокус уходит). Моя прога ещё что-то получает? Т.е. я могу определить без таймеров и отлова нажатий клавиш, что было нажато? Например, я нажимаю в текстбоксе Ctrl+Alt+Del...
      насколько я помню, отлавливать Ctrl, alt, shift проще чем текстовые, и для этого используют аргумент button (забылся, это в Delphi походу, в VB "Shift As Integer") в методах. С стальными всё сложнее, по умолчанию можно получить лишь значение (состояние) одной текстовой клавиши. В подобных случаях я использую апи или DirectX
      Сообщение отредактировано: VisualProg -
        В теории код должен выглядить как:

        ExpandedWrap disabled
          If Shift = 2 + 4 And KeyCode = vbKeyDelete Then End


        но на практике ОС имеет больший приоритет по отношению к программе, и без сканирования состояния клавиш ОС не перебить
          Цитата BlackSun @
          Например, я нажимаю в текстбоксе Ctrl+Alt+Del...

          И обламываешься. Троицу невозможно перехватить, это зашито в дальние глубины винды, ибо завязано на безопасность. Вспомни четвёрку — "нажмите Ctrl+Alt+Del для входа в систему"... так сделано как раз потому, что перехватить троицу невозможно, и её нажатие гарантирует, что окошко входа будет системным, а не подставой... а невозможно потому, что она перехватывается системой ещё на уровне ядра, сразу из драйвера клавиатуры.
            Цитата DarknessPaladin @
            она перехватывается системой ещё на уровне ядра

            Волшебную тройку используют и до инициализации ОС :) (перезагрузка)
              Цитата VisualProg @
              Волшебную тройку используют и до инициализации ОС (перезагрузка)

              ага. а потом ОС загружает свой драйвер клавиатуры, и с этого момента BIOS клавиатуру не обслуживает, и что делать по нажатию трёхкнопок— решает ОСь.
              1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
              0 пользователей:


              Рейтинг@Mail.ru
              [ Script execution time: 0,0659 ]   [ 15 queries used ]   [ Generated: 17.05.24, 01:19 GMT ]