Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
Comanche

Запуск программы по горячей клавише, даже когда открыты другие приложения.

12.11.2008, 21:19. Показов 1814. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
См. сабж.

Хотелось бы отдать 'Ctrl' + 'Scroll Lock' (к примеру) под запуск одного EXE-файла. Если видим рабочий стол, и на нём есть иконка к этой проге, то никаких проблем (параметр 'Быстрый вызов'). А если на столе нет иконки, и стол вообще не виден?!

Вроде где-то было на эту тему, но не помню где - не нашёл ни здесь, ни на VBNET.RU etc ...

Заранее всем спасибо.
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.11.2008, 21:19
Ответы с готовыми решениями:

Завершение процесса по горячей клавише
Приветствую! У меня такая проблема: есть программа которая висит в процессах, ее нужно закрыть по нажатию клавиш (ALT+V). Знаю что нужно...

Запуск программы по медиа клавише
Речь о windows 7. Родная виндовс у меня стояла vista и есть на ноуте у мя клавиша quickplay которая запускала прогу на висте, а вот на 7...

Как открыть приложение из трея по горячей клавише?
Пользуюсь Д7 с приложением CoolTayIcon в попупе трея устанавливаю горячие клавиши но реакции ноль! как правильно свернуть и развернуть...

5
Comanche
12.11.2008, 21:27
Пардон, поправлюсь:

'Если видим рабочий стол, и на нём есть иконка к этой проге, то никаких проблем ...'

Рабочий стол вовсе не обязан быть 'видимым': даже если я нахожусь в окне Ворда какого-нибудь (т.е. его окно - активно), hotkey иконки стола всё равно сработает (и даже 'возьмёт верх', если какой-либо Вордовый макрос имеет ту же hotkey).

Это всего лишь поправка. Вопрос остаётся открытым, поскольку - повторюсь - проге нельзя делать иконку на десктопе (даже за пределами экранной области).
0 / 0 / 0
Регистрация: 05.04.2008
Сообщений: 73
15.11.2008, 21:05
Делай иконку в меню Пуск
0
0 / 0 / 0
Регистрация: 26.12.2007
Сообщений: 435
16.11.2008, 05:45
Извеняюсь что встреваю, но тем не менее вопрос:
а если делать иконку - то как это все работать будет?
0
Comanche
16.11.2008, 12:13
Нет, с иконками - где бы они не были - решать задачу мне нельзя. Нужно через перехват клавиатурных нажатий. Я попробовал вот такой код, но он отлавливает не все нажатые символы (особенно если быстро печатать):
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Private Const PM_NOREMOVE = &H0
Private Const WM_KEYUP = &H101
Private bCancel As Boolean
Private st As String
Private Declare Function PeekMessage Lib "user32" Alias "PeekMessageA" _
  (lpMsg As Msg, ByVal hWnd As Long, ByVal wMsgFilterMin As Long, _
  ByVal wMsgFilterMax As Long, ByVal wRemoveMsg As Long) As Long
'
Private Sub Form_Load()
  Dim Message As Msg
'
  Show
  bCancel = False
  st = ''
'
  Do While Not (bCancel)
    If PeekMessage(Message, Me.hWnd, WM_KEYUP, WM_KEYUP, PM_NOREMOVE) Then
      st = st + Chr(Message.wParam) ' накапливаем нажатые символы в строке st
    End If
    DoEvents
  Loop
'
End Sub
'
'
Private Sub Form_Unload(Cancel As Integer)
    bCancel = True
    Debug.Print st ' выводим строку st
End Sub
Функция RegisterHotKey() тоже мне не помогла - я так и не разобрался, как её использовать, хотя нашёл в Сети примеры. Дело в том, что и вышеприведённый код, и найденные в Инете примеры позволяют ловить нажатия, когда открыто и активно окно своей проги (см. Me.hWnd). А вот как сделать, чтобы прога болталась где-нибудь в трее (или вообще была не видна), но при этом прекрасно отлавливала бы нажатия, которые адресованы окнам ДРУГИХ приложений - непонятно! Ведь пишут же люди всякие 'клавиатурные шпионы' и т.п.!

Ну, допустим, я буду вместо Me.hWnd использовать API-функцию GetActiveWindow(), но будет ли оно при этом работать, - ведь даже простейший пример, код которого я привёл выше, толком и не работает! Попробуйте его запустить, затем быстро напечатайте слово 'international' - в окне Immediate получится ерунда вроде 'NTENTIONAL' (не все символы и регистр не тот). А напечатанное по русски будет 'поймано' тоже в латинице и в верхнем регистре!

Я чего-то не догоняю, наверное ...
Spirit
17.11.2008, 11:31
Попробуй вот этот пример: http://sharig.webzone.ru/vbcode/24_prog/172.htm
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.11.2008, 11:31
Помогаю со студенческими работами здесь

Подмена функции вызываемой по горячей клавише в Word
Я пишу Add-in к Word на VB, который добавляет мой собственный CommandBar и Мои пункты меню в Word. Все это делается через интерфейс...

Прервать расчеты в консольной программе по горячей клавише
Помогите, пожалуйста с кодом... необходимо в программу вставить "горячую клавишу". Предназначение клавиши(пусть будет Ctrl + R):...

Запуск своей программы по нажатию глобальной горячей клавиши
Всем знатокам доброго времени суток! Как сделать, чтобы при нажатии сочетания клавиш "Ctrl+E" в любом месте экрана...

По горячей клавише выводить на экран часы, изображенные псевдографикой
TSR - программа должна по горячей клавише выводить на экран часы, изображенные псевдографикой. При повторном нажатии на горячую клавишу...

Активировать Ввод В Редактируемый Столбец Вида По Горячей Клавише
Всем привет! Есть у кого идеи как это сделать?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru