Caps Num & Scroll Локи...

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Шнурок
Постоялец
Постоялец
 
Сообщения: 371
Зарегистрирован: 12.11.2004 (Пт) 19:28
Откуда: Санкт-Петербург

Caps Num & Scroll Локи...

Сообщение Шнурок » 09.01.2005 (Вс) 18:51

:?: Как сделать так, что бы при занрузки формы включался NumLock
02.01.2004

XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Сообщение XairOn » 09.01.2005 (Вс) 19:13

Вот так попробуй:
Код: Выделить всё
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

Const KEYEVENTF_KEYUP = &H2
Const VK_NUMLOCK = &H90

Private Sub Form_Load()
keybd_event VK_NUMLOCK, 0, 0, 0
End Sub

Шнурок
Постоялец
Постоялец
 
Сообщения: 371
Зарегистрирован: 12.11.2004 (Пт) 19:28
Откуда: Санкт-Петербург

Сообщение Шнурок » 09.01.2005 (Вс) 20:25

Код: Выделить всё
keybd_event VK_NUMLOCK, 0, 0, 0

А можете пояснить что значат 3 нуля посл VK_NUMLOCK :oops:
02.01.2004

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 09.01.2005 (Вс) 20:42

VOID keybd_event(
BYTE bVk, // virtual-key code
BYTE bScan, // hardware scan code
DWORD dwFlags, // function options
ULONG_PTR dwExtraInfo // additional keystroke data
);

Parameters

bVk
[in] Specifies a virtual-key code. The code must be a value in the range 1 to 254. For a complete list, see Virtual-Key Codes.

bScan
This parameter is not used.

dwFlags
[in] Specifies various aspects of function operation. This parameter can be one or more of the following values.
KEYEVENTF_EXTENDEDKEY: If specified, the scan code was preceded by a prefix byte having the value 0xE0 (224).
KEYEVENTF_KEYUP: If specified, the key is being released. If not specified, the key is being depressed.

dwExtraInfo
[in] Specifies an additional value associated with the key stroke.
Изображение

XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Сообщение XairOn » 10.01.2005 (Пн) 0:22

В предыдущем примере небольшой баг, вот так вс ok:
Код: Выделить всё
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Long

Const VK_NUMLOCK = &H90

Private Sub Form_Load()
If GetKeyState(VK_NUMLOCK) = 0 Then keybd_event VK_NUMLOCK, 0, 0, 0
End Sub

Mleha
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 146
Зарегистрирован: 06.10.2004 (Ср) 7:49
Откуда: Ангарск

Сообщение Mleha » 10.01.2005 (Пн) 11:09

Клавиша получается не отпущена!

XairOn писал(а):
Код: Выделить всё
If GetKeyState(VK_NUMLOCK) = 0 Then keybd_event VK_NUMLOCK, 0, 0, 0


Надо так:
Код: Выделить всё
Const KEYEVENTF_KEYUP = &H2
Const VK_NUMLOCK = &H90

keybd_event VK_NUMLOCK, 0, 0, 0
keybd_event VK_NUMLOCK, 0, KEYEVENTF_KEYUP , 0

Шнурок
Постоялец
Постоялец
 
Сообщения: 371
Зарегистрирован: 12.11.2004 (Пт) 19:28
Откуда: Санкт-Петербург

Сообщение Шнурок » 10.01.2005 (Пн) 12:37

А как отключить? :oops:
02.01.2004

XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Сообщение XairOn » 10.01.2005 (Пн) 12:45

Второй раз, ту же самую операцию выполнить!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot и гости: 9

    TopList