Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
1 / 1 / 1
Регистрация: 03.02.2014
Сообщений: 281

Сделать горячую клавишу на таймер

03.02.2014, 17:08. Показов 3125. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите сделать горячую клавишу на таймер. Допустим нажимаешь клавишу F1, таймер включается, нажимешь еще раз, таймер выключается. Помогите. Срочно.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.02.2014, 17:08
Ответы с готовыми решениями:

Как задать для программы горячую клавишу для ёё вызова?
Здравствуйте хотелось бы узнать можно ли вызвать программы которые были созданы на vb net -е с использованием горячой клавиши...

Не получается сделать горячую клавишу
хочу что бы при нажатии 'W' кнопка однималась в вверх procedure TForm1.Button1KeyPress(Sender: TObject; var Key: Char); begin if...

Как сделать горячую клавишу?
например нажимаю сочетание клавиш ctrl+l открывается форма, как это сделать?

26
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
03.02.2014, 17:15
Горячая клавиша должна работать даже если приложение неактивно?
0
1 / 1 / 1
Регистрация: 03.02.2014
Сообщений: 281
03.02.2014, 19:38  [ТС]
Цитата Сообщение от The trick Посмотреть сообщение
Горячая клавиша должна работать даже если приложение неактивно?
Нет, чтобы она работала при открытом и свернутом окне
0
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
03.02.2014, 20:47
Цитата Сообщение от The trick Посмотреть сообщение
Горячая клавиша должна работать даже если приложение неактивно?
Цитата Сообщение от Trances Посмотреть сообщение
Нет, чтобы она работала при открытом и свернутом окне
Интересно проследить, чем отличается свернутое от неактивного и глобальный хук от локального
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
03.02.2014, 21:44
Действия по нажатию клавиш
Глобальные события в Visual Basic 6
GetKeyboardState в неактивной форме?
0
1 / 1 / 1
Регистрация: 03.02.2014
Сообщений: 281
04.02.2014, 06:52  [ТС]
Мне нужно не на любую кнопку, а на F3
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
04.02.2014, 07:32
Цитата Сообщение от Trances Посмотреть сообщение
не на любую кнопку, а на F3
Ну можно же доработать этот код! Вставить условие срабатывания только для определённой клавиши.
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
30
31
32
33
34
35
36
37
38
39
40
Dim tt As Long
Dim ActivTimer As Boolean
Public Function GetTime(ByVal Seconds As Long) As String
    If Seconds <= 0 Then
        GetTime = "00:00:00"
        Timer1.Enabled = False
        MsgBox "BABAX!!!"
        Exit Function
    End If
   
    Dim Hour As Single, min As Single, Sec As Single
   
    Hour = Seconds / 60 / 60
    Sec = Seconds Mod 60
    min = (Hour - Int(Hour)) * 60
 
    GetTime = Format(Int(Hour), "00") & ":" & Format(Int(min), "00") & ":" & Format(Int(Sec), "00")
End Function
 
 
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
'KeyCode 114 это код клавиши F3
If KeyCode = 114 Then ActivTimer = Not ActivTimer ' активирует или деактивирует таймер
 
Timer1.Enabled = ActivTimer
End Sub
 
 
Private Sub Form_Load()
Timer1.Enabled = False
Timer1.Interval = 1000
Label1.Caption = "Жми клавишу F3 для активации или деактивации таймера"
tt = 360 ' На таймере 6 минут (60х60)
End Sub
 
Private Sub Timer1_Timer()
tt = tt - 1
Label1.Caption = GetTime(tt)
 
End Sub
Но сразу предупреждаю - это будет работать, если форма с таймером активна. Для других случаев читайте по ссылкам о хуках, глобальных таймерах и т.п.
0
1 / 1 / 1
Регистрация: 03.02.2014
Сообщений: 281
04.02.2014, 07:46  [ТС]
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Ну можно же доработать этот код! Вставить условие срабатывания только для определённой клавиши...
Может я что-то не правильно делаю, но при нажатии кнопки F3 ничего не происходит
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
04.02.2014, 10:12
Цитата Сообщение от Trances Посмотреть сообщение
Может я что-то не правильно делаю
Скорее всего да. Выложи тут весь свой проект, посмотрю, что не так.
0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
04.02.2014, 12:37
Для этого надо делать RegisterHotKey Создание Крестика в центре экрана
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4357 / 3427 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
04.02.2014, 17:25
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Ну можно же доработать этот код!
У тебя ошибочка. точнее гвороря ты не сказал что функция у тебя PUBLIC? а чел видать не особо силен - поэтому он тупо в модуль формы и кидет код - кончно он работать не будет...
сделай функцию как PRIVATE...

Вобщем вот готовый код... на F3 запускает тацймер на 6 минут и выводит его в заголовке формы..

Пользуйтесь ))



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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Option Explicit
Dim tt As Long
Dim ActivTimer As Boolean
Dim Hour As Single, min As Single, Sec As Single
Private Function GetTime(ByVal Seconds As Long) As String
    If Seconds <= 0 Then
        GetTime = "00:00:00"
        Timer1.Enabled = False
        MsgBox "BABAX!!!"
        Exit Function
    End If
   
 
   
    Hour = Seconds / 60 / 60
    Sec = Seconds Mod 60
    min = (Hour - Int(Hour)) * 60
 
    GetTime = Format(Int(Hour) & Int(min) & Int(Sec), "00:00:00")
End Function
 
 
 
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
'KeyCode 114 это код клавиши F3
If KeyCode = 114 Then ActivTimer = Not ActivTimer ' активирует или деактивирует таймер
 
Timer1.Enabled = ActivTimer
End Sub
 
Private Sub Form_Load()
Timer1.Enabled = False
Timer1.Interval = 1000
Label1.Caption = "Жми клавишу F3 для активации или деактивации таймера"
tt = 360 ' На таймере 6 минут (60х60)
ActivTimer = False
End Sub
 
Private Sub Timer1_Timer()
tt = tt - 1
Me.Caption = GetTime(tt)
 
End Sub
Добавлено через 2 минуты
ну а для того чтоб работало когда
Цитата Сообщение от Pro_grammer Посмотреть сообщение
форма с таймером не активна
тут The trick, прав...
Цитата Сообщение от The trick Посмотреть сообщение
Для этого надо делать RegisterHotKey
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
04.02.2014, 17:59
Цитата Сообщение от Юрий Косар Посмотреть сообщение
кончно он работать не будет..
Нет там ошибки. Public Function объявлена в секции General, это допустимо.
У меня работает именно этот код.
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4357 / 3427 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
04.02.2014, 18:06
Цитата Сообщение от Pro_grammer Посмотреть сообщение
в секции General, это допустимо.
но не всегда почему то срабатывает...

Цитата Сообщение от Pro_grammer Посмотреть сообщение
У меня работает именно этот код.
пардон... и у меня заработал... ))
0
1 / 1 / 1
Регистрация: 03.02.2014
Сообщений: 281
04.02.2014, 18:55  [ТС]
Вот код
VB.NET
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Public Class Form1
    Declare Sub mouse_event Lib "user32" Alias "mouse_event" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
 
    Private Sub BlackShadesNetForm1_Click(sender As Object, e As EventArgs) Handles BlackShadesNetForm1.Click
        KeyPreview = True
    End Sub
    Private Sub MyMethod()
        Windows.Forms.Cursor.Position = New System.Drawing.Point(Windows.Forms.Cursor.Position)
        mouse_event(&H2, 0, 0, 0, 1) 'cursor will go down (like a click)
        mouse_event(&H4, 0, 0, 0, 1) ' cursor goes up again
    End Sub
 
    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
        MyMethod()
    End Sub
 
    Private Sub BlackShadesNetButton1_Click(sender As Object, e As EventArgs) Handles BlackShadesNetButton1.Click
        Timer1.Start()
    End Sub
 
    Private Sub BlackShadesNetButton2_Click(sender As Object, e As EventArgs) Handles BlackShadesNetButton2.Click
        Timer1.Stop()
    End Sub
 
    Private Sub BlackShadesNetButton3_Click(sender As Object, e As EventArgs) Handles BlackShadesNetButton3.Click
        Kill("C:\WarFace\LogBackups\*.*")
    End Sub
 
    Private Sub BlackShadesNetButton4_Click(sender As Object, e As EventArgs) Handles BlackShadesNetButton4.Click
        Kill("D:\WarFace\LogBackups\*.*")
    End Sub
 
    Private Sub BlackShadesNetButton5_Click(sender As Object, e As EventArgs) Handles BlackShadesNetButton5.Click
        Form2.Show()
    End Sub
 
    Private Sub BlackShadesNetButton6_Click(sender As Object, e As EventArgs) Handles BlackShadesNetButton6.Click
        Form3.Show()
    End Sub
 
    Private Sub BlackShadesNetButton7_Click(sender As Object, e As EventArgs) Handles BlackShadesNetButton7.Click
        Timer2.Start()
    End Sub
 
    Private Sub BlackShadesNetButton8_Click(sender As Object, e As EventArgs) Handles BlackShadesNetButton8.Click
        Timer2.Stop()
    End Sub
 
    Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
        SendKeys.Send("{`}")
    End Sub
 
    Private Sub Timer3_Tick(sender As Object, e As EventArgs) Handles Timer3.Tick
 
    End Sub
End Class
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
04.02.2014, 19:22
Цитата Сообщение от Trances Посмотреть сообщение
Вот код
Этот код отношения не имеет к VB6.
Это код VB.NET! Надо научится разбираться в версиях для начала.
Создайте тему в соответствующем разделе!
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4357 / 3427 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
04.02.2014, 19:52
Цитата Сообщение от Trances Посмотреть сообщение
Вот код
0
1 / 1 / 1
Регистрация: 03.02.2014
Сообщений: 281
05.02.2014, 08:42  [ТС]
Нужно поставить горячую клавишу на таймер. Допустим нажал клавишу F3, таймер начал работать, нажал еще раз, перестал работать
0
Почетный модератор
 Аватар для Памирыч
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
05.02.2014, 11:25
Trances, уточните, это все в запущенном приложении или оно может быть свернуто?

Если в запущенном, то, имхо, достаточно отловить клавишу в Key_Down
0
1 / 1 / 1
Регистрация: 03.02.2014
Сообщений: 281
05.02.2014, 11:45  [ТС]
Цитата Сообщение от Памирыч Посмотреть сообщение
Trances, уточните, это все в запущенном приложении или оно может быть свернуто?

Если в запущенном, то, имхо, достаточно отловить клавишу в Key_Down
Мне нужно чтоб когда оно было активно. Вы бы не могли написать код с Key_Down полностью?
0
Почетный модератор
 Аватар для Памирыч
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
05.02.2014, 12:07
VB.NET
1
2
3
4
5
6
7
8
9
    Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
        If e.KeyData = Keys.F3 Then
            Timer1.Enabled = Not Timer1.Enabled
        End If
    End Sub
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.KeyPreview = True
    End Sub
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.02.2014, 12:07
Помогаю со студенческими работами здесь

Сделать горячую клавишу, что бы она включала fullscreen в плеере
Приветствую, как сделать горячую клавишу, что бы она включала fullscreen в плеере допустим на ALT+ENTER? Программа в архиве ниже.

Как сделать глобальную "горячую клавишу"
Здравствуйте, написал код который при нажатие кнопки А выводит сообщение... Но почему-то это не происходит когда окно программы не...

Переназначить горячую клавишу F5
Всем привет ! Есть у кого какие мысли как это сделать ? Чтобы при нажатие он запускал перезагрузку страницу, а евент, который я написал. ...

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

Добавить горячую клавишу
Доброго времени суток. Я работаю с программой, написана она давно и автор уже не поддерживает её. Столкнулся с проблемой отсутствие...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru