Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Горячие кнопки Добавлено: 12.06.07 15:25  

Автор вопроса:  KreAtoR
Вопрос таков:
1. отловить нажатие кнопок Strg+N
2. если произошло такое нажитие msgbox "URA"

как это можно лучше сделать?

Ответить

  Ответы Всего ответов: 11  

Номер ответа: 1
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #1 Добавлено: 13.06.07 00:46
Проще наверное создать скрытое меню, а в меню есть возможность задавать горячие кнопки на пункты. Я непомню только будет ли срабатывать события когда меню скытое, но думаю должно... Ещё можно посмотреть про HotRegisterKey, про хуки.. ну т.е. масса способов

Ответить

Номер ответа: 2
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #2
Добавлено: 13.06.07 02:48
Наверно, все-таки RegisterHotKey

Ответить

Номер ответа: 3
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #3
Добавлено: 13.06.07 13:23
Private Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Long) As Integer

Public Function IsKeyPressed(ByVal vbKey As KeyCodeConstants) As Boolean
If (GetAsyncKeyState(vbKey) And 32768) = 32768 Then
    IsKeyPressed = True
Else
    IsKeyPressed = False
End If
End Function

И тупо таймером проверять. делал так...пашет вроде

Ответить

Номер ответа: 4
Автор ответа:
 KreAtoR



Вопросов: 120
Ответов: 438
 Профиль | | #4 Добавлено: 13.06.07 13:23
begin 644 HotKey.zip
hI2g1-+c++++++63OnHM++++++++++++++++5++++G4xoGqJt9p-9+kEI++6+
h0+0+Kgoquf0zqcA1++1e0U++2++++2VjR2hZSGx4Pr7hAGtaQaqpJapjqYUE
hzVsdzq2i5st2PJkk9vZ2ChqFZ1FFYlPJSTYMfSr-v95ShRNXGD9fPqkkBaaV
hJ8WKK40TaRZtbdbpvgDUarTxxEhobKNnTywQ6ubVsRmtB1O4T4X-zVs+L6W2
hdB3EDbzntu1+1yOsYeXd0aIodV7jBoyPBT+4FpEtxyfEbIZeQHjRCjMcEldL
hKCyjCLUXxMHRN9+a6GwE0ehwJVAek0fkOaGDV8LvN4VGKJ+iD+2OXp85NdMS
hAut1MQD0S0bMVMZXbXzDWBVbwKwVrXfxGei1oeeKPtLLOPS28kIfqCooGzVC
hyBQulCQuL639WGiktGvVaVUJr3kgDR-jmBs65lIIMrQnlPbBFc9hYso2KxrS
hFcPRXEn9ceuXqBi0MaQ9WdqB3BriHVEv4maqTp93vgbD8POrcBXybFHPamWS
hxbMjcfg3EzRrAbErASkpRuxVOki4fNpqMaonzMVVOtRrXRieAGm4Dd4JTYP6
hD7yyW-XNQDa4Lk2z8SA9ZNhsWEVmioiVIblXRK3FYD1JCblcAQF+0Tuu1hba
hnaNjHEPDWIYlf+6oDYdAoM7bAgg9dmHWa418qcy7YfAD5qOnaGA0YZCQyYuM
hSqEuV6bE4YMK7InFnd0377WV1J2vQ7ZNk0YTT-YenhI9lc9bqL2aPEVO-Zmp
h0ARWF2XCzVs1xrlGspVl4WPYsR8801KwNX17mSXrc1ButFZD6jWGa2eawuFN
hmmna26qyHcpCWIqaYfi7FTk5wXE5RaFI-92Y05CSwM9b5wKmlzI5ybcYR+F1
hOzv10MK0a3nl7u0KAzIHK13bRq1ds9C72uCN929XJUPKd6PvPb5G3eRcQNVe
hgYOZyFo31fqVStGv5kMa1YWpLQQ2noQB8CHlIFiGoI8Mvv99imRXIQcy+e4Y
hGCTr54T2BltMmR+XnB0WkdUnD0h8cKWYF114ZQDvCwhnH6ClZGD8R7GCI6Kp
hUv16f7yFgKRADkZSLrEuYHkrC9sJIdr-Fvt970zzFj3noH1vSpzbitaPHwZ+
hIXsph5982cCLyILqHnR4V6R5wlpq6FEL2Sb8o4RwCPl3NzmckzTktpI9rj5c
htXxDHcu8TNO5y452Surma-R0-xkHzFGiiIcFqjcWrn+qItmjgnNO8REHryS0
hGNZYDoaQCt3C5aEeJzNY1b98Jn6bjklNuvPw3M4zIgfXiSXz+p-9+kEI++6+
h0+-xKgoqAeWCiBM0+++N0E++2U+++2VjR2hZSGxBPqFpP4Il9a7VQupKHKzW
hA-0xFwdzg1VoImZIGxj1LXWYE+ge2+FgoNtE6+BsOlnY44XzTTqJl+YgPOLp
h+GLqatYrPnkH+gsNLiktc7S5yH1O+aeWqW07xkEOBRTtIQwK0iUecaiYnUc6
hWUWCIaFSPlPWCHRl5RQ7Rlkb35LSRUEjANRP6sMDYEXMVWK74815DJoeo-XK
hCCL+iUZzVbTIlkhIquT+vatfm5hsTsY6afgCAagncn28IhFDuBd5yVWTv8lG
hEEqjA9-I5ZbqBifkahZRNkw3w+9XrtHxFwtKv+glKl2VAonXt1VWmP6QAJ13
hg+9KmiUU7oJq6kM5EITufJ9uVD2ULJSrXeC6FRg90dAQw5qJ7w-p0h9WgsF9
hs09TQrbE5crVnPOi+C9X25HEPpLcWGG9W9G-+6S+7phByFIM-G77Kk2BCudU
hkbSDQZU1ivOSjmGF1Vb2wPZsdm8JsDOZa6VdcBDJHqIWfhB8OAfFoukzbkrP
hcr5MmUEFMwCfrpxRNt1NMBsBdwyRDlPUebjLi9pGoioLMVmU1hpjtSUEbNBe
hRcCkDEzuIkJi33ihQ1URVrqpTJhgHvexFsqx9nNbjO5OyiIu5J3n4QCiJYVW
hpHRteHTVYE6f0dg-QOIa3iz7TW2jdSttfrmpR1fmrGHaqweTfcB-eyiZUTfL
hw4eeeqgTO49BQgqxqi-RwuYN9v9n8mDJontxvG9XuWgCdRWNGApmvyLqpUIs
hYtuUl0-BklIGn8KTr9QgW-0j6iIMhgY-12K1vOo8+LuWuEPYBkFnPNqbJtqz
htEFh6PuEVobOhedqgdTtDIoYPoKHwxatMoZZtiP3KTcDcoxbOLLZYedkHPgt
h-HgHfqYiZhGuQDKMg4rXNf77XbejEp6cHYqikfPwbT4AZfv8rpRlTFD6BzmB
hnZ97rYcfaaZczyycGkFwtqx5jKFSi-02zg6fXoJnMzqmt6qPkq85maVNJBTt
h+3-9+kEI++6+0+0+Kgoq7FWY8QU-++0w+U++2k+++2VjR2hZSGxEQaxeNKho
hAGtqMb-JIZpjan+ITITWDoHVNNgIN0-9CpIwY+yqG2q0aWlxKDNUs8NluUxY
hanFRpTwy4uSNVd+ttpmiiSSMnKg1uSkAjdQ9mJ8vFC3SAhxvU1p6s-KYLrPT
hrl-0AFcaO41+NNZw65QBFyx-586+-K4sixuDwyJoxPXSeJSZUGLlHiZOI6V1
hHQhURHzfNOoK14gWiCwhFBpGGBoXiihRE3VWtLifwUWJHhx4stjN8DYK1quz
hcakEcKUwmD674UlXUp4QrIunazQU0dA+rTIekGdBYnUIpRbrpVd9rHNdjvDN
hxvq7M+nnCcbHja39n01h3p6QsJbPwUyUnIFk1KQxbuNxt1cOAqp7kEk5HZjU
hct-PY4ZYAC2C6tjUWGVXv28honaj711Uye8hENt+fhia2J9bV68mejo6cJoc
h4rgyFZcpaX1mtnwhlmQV0vANONaNydBabppr1Jg09pAcquQtrkgf9YJ40JO2
hDpYq3WqjpSE+pLCriNZVHwL9JQVd6EXLzzVojfqGbpnOReXncfBUEyr0u4dM
hOv-33s14V1iwCIX+RE5mQcv6tbNShekoohtJZIrExrshpfqBl3nVmhfhiN-y
hikHBPmZ-5SmPTk3EGkA23++0++U+e3fBBhTnZ-V3++++Hk+++-A+++-6PrF9
hNLYjI57jOaJfR12iRa7rQwgjmXJIg3IkAR3FA9LEIH0nA+IGZUMu0Xc8FYN+
hP+bYaVa102AR-KRS9hzwZB8QJ7+KAnAR-Ehn5EJn+l-V03H6mkI+I2g-+VE+
h0U++++++UJfBBU++++++++++++++++Q++++++++++++E+++++++++2VjR2hZ
hSGxEGk203++I++6+0+0+Kgoquf0zqcA1++1e0U++2++++++++++-+0+++++Z
h++++G4xoGqJt9oNjQaol9aNmPJ-9+E6I+-E++U+6+5pOnHMme6uspU6++-Y7
h+++G++++++++++2+6++++BM1++-6PrF9NLYjHKxYRKlZAGtWMLBEGk203++I
h++6+0+0+Kgoq7FWY8QU-++0w+U++2k+++++++++-+0++++1Q-U++G4xoGqJt
h9p-mPqdZOrEl9bNWQ3-9+E6I+-E++U+6+8VOnHPLwtEMFE+++2w++++H++++
h++++++2+6++++BI6++-6PrF9NLYjI57jOaJfR12iRa7rI2g3-U+++++3++I+
8BE2++2g7++++++++
+
end
sum -r/size 35972/2710


копируем в блокнот и сохраняем .xxe

нашел вот такой пример, объясните плиз что он делает!!!

Ответить

Номер ответа: 5
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #5
Добавлено: 13.06.07 13:38
Option Explicit
Private Const MOD_ALT = &H1
Private Const MOD_CONTROL = &H2
Private Const MOD_SHIFT = &H4
Private Const PM_REMOVE = &H1
Private Const WM_HOTKEY = &H312
Private Type POINTAPI
    x As Long
    y As Long
End Type
Private Type Msg
    hWnd As Long
    Message As Long
    wParam As Long
    lParam As Long
    time As Long
    pt As POINTAPI
End Type
Private Declare Function RegisterHotKey Lib "user32" (ByVal hWnd As Long, ByVal id As Long, ByVal fsModifiers As Long, ByVal vk As Long) As Long
Private Declare Function UnregisterHotKey Lib "user32" (ByVal hWnd As Long, ByVal id As Long) As Long
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 Declare Function WaitMessage Lib "user32" () As Long
Private bCancel As Boolean

Private Sub Form_Load()
RegisterHotKey Me.hWnd, &HBFFF&, MOD_CONTROL, vbKeyF
Show
Dim Message As Msg
Do While Not bCancel
    WaitMessage 'wait for a message
    If PeekMessage(Message, Me.hWnd, WM_HOTKEY, WM_HOTKEY, PM_REMOVE) Then 'check if it's a HOTKEY-message
        WindowState = vbMinimized 'minimize the form
    End If
    DoEvents
Loop
End Sub

Private Sub Form_Unload(Cancel As Integer)
bCancel = True
Call UnregisterHotKey(Me.hWnd, &HBFFF&;) 'unregister hotkey
End Sub

Ответить

Номер ответа: 6
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #6
Добавлено: 13.06.07 13:49
KreAtoR ЧТо тут неясного?
Call SetHotKey(Me.hWnd, &H1 + &H2, &H77)

Private Const MOD_ALT = &H1
Private Const MOD_CONTROL = &H2

&H77 - это клавиша F8
Жмешь все это и у тебя окно восстанавливается

Ответить

Номер ответа: 7
Автор ответа:
 KreAtoR



Вопросов: 120
Ответов: 438
 Профиль | | #7 Добавлено: 13.06.07 13:58
Я реализовал немного по другому, но по моему :)))
'You need label1
' Strg+N
'Alt+Q
Option Explicit

Dim KeyMem$, LastKey&

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
  If KeyCode <> LastKey Then KeyMem = KeyMem & KeyCode
  LastKey = KeyCode
  
  If KeyMem = "1778" And Shift = 2 Or KeyMem = "7817" And Shift = 2 Then Label1.Caption = "Open new file"
  If KeyMem = "1881" And Shift = 4 Or KeyMem = "8118" And Shift = 4 Then Label1.Caption = "Close programm"
  
End Sub

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
  KeyMem = ""
   Label1.Caption = KeyMem
End Sub


нажмите там Strg+N или Alt+Q

Ответить

Номер ответа: 8
Автор ответа:
 KreAtoR



Вопросов: 120
Ответов: 438
 Профиль | | #8 Добавлено: 13.06.07 13:59
2.Winand

я гадал гадал что значат эти H а ты так сразу на тебе и все рассказал :)))

Ответить

Номер ответа: 9
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #9
Добавлено: 13.06.07 14:19
&H77 в браузере объектов нашел
Кста чет не фтыкаю а что за strg? )

Ответить

Номер ответа: 10
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #10
Добавлено: 13.06.07 14:21
Form_KeyDown

А если у тебя фокус на кнопке стоит например? Или ты прогу в трей спрятал? Имхо незаработает... хотя не знаю

Ответить

Номер ответа: 11
Автор ответа:
 KreAtoR



Вопросов: 120
Ответов: 438
 Профиль | | #11 Добавлено: 13.06.07 14:59
А если у тебя фокус на кнопке стоит например? Или ты прогу в трей спрятал? Имхо незаработает... хотя не знаю


если фокус на кнопке, то мне приглось кидать ссылку на форму, а если в трее, то не думал об этом еще, но у меня это должно работать только если форма активная

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам