GetKeyboardState в неактивной форме? - VB
Формулировка задачи:
Как сделать, чтобы форма пряталась, появлялась (Visible) под управлением клавиши, например Caps Lock? Пробовал "сунуть" GetKeyboardState в Timer, - но, если форма не активна (или уже не видима) не работает! Помогите! Заранее благодарю.
Решение задачи: «GetKeyboardState в неактивной форме?»
textual
Листинг программы
Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer Global Cnt As Long, sSave As String, sOld As String, Ret As String Dim Tel As Long Function GetPressedKey() As String For Cnt = 32 To 128 'Get the keystate of a specified key If GetAsyncKeyState(Cnt) <> 0 Then GetPressedKey = Chr$(Cnt) Exit For End If Next Cnt End Function Sub TimerProc(ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) Ret = GetPressedKey If Ret <> sOld Then If Ret = "H" Then Form1.Hide End If If Ret = "S" Then Form1.Show End If sOld = Ret End If End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д