Перейти к содержанию

Ассемблер CE - Какая кнопка мыши нажата?


Рекомендуемые сообщения

MasterGH, скорее всего вопрос опять к тебе.

 

Мне нужно, чтобы код срабатывал, при нажатии на правую кнопку мыши.

Как можно отследить в СЕ ассемблер событие - какая кнопка мыши нажата?

Ссылка на комментарий
Поделиться на другие сайты

Вроде, что-то нашёл:

Функция $03, как уже было сказано, возвращает состояние кнопок мыши.


Function ButtonPressed:byte;
var
rbl:byte;
begin
asm
mov ax,$03
int $33
mov rbl,bl
end
ButtonPressed:=rbl
end;

Функция возвращает следующие значения:
1 - если нажата левая кнопка.
2 - если нажата правая кнопка.
3 - если нажаты левая и правая кнопки
4 - если нажата средняя кнопка (колесико)
5 - если нажаты левая кнопка и колесико
6 - если нажаты правая кнопка и колесико.
7 - если нажаты все кнопки (2 кнопки и колесико).

Нужно будет попробовать.

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Всем привет!
 

PS: Забыл, нашёл неплохую статью, где указаны все коды для клавиш:

http://excelvba.ru/code/KeyPressed

 
Или можно посмотреть в файле defines.lua от нашего любимого CE.

--Key codes
VK_LBUTTON = 1
VK_RBUTTON = 2
VK_CANCEL = 3
VK_MBUTTON = 4
VK_XBUTTON1 = 5
VK_XBUTTON2 = 6
VK_BACK = 8
VK_TAB = 9
VK_CLEAR = 12
VK_RETURN = 13
VK_SHIFT = 16
VK_CONTROL = 17
VK_MENU = 18
VK_PAUSE = 19
VK_CAPITAL = 20
VK_ESCAPE = 27
VK_SPACE = 32
VK_PRIOR = 33
VK_NEXT = 34
VK_END = 35
VK_HOME = 36
VK_LEFT = 37
VK_UP = 38
VK_RIGHT = 39
VK_DOWN = 40
VK_SELECT = 41
VK_PRINT = 42
VK_EXECUTE = 43
VK_SNAPSHOT = 44
VK_INSERT = 45
VK_DELETE = 46
VK_HELP = 47
VK_0 = 48
VK_1 = 49
VK_2 = 50
VK_3 = 51
VK_4 = 52
VK_5 = 53
VK_6 = 54
VK_7 = 55
VK_8 = 56
VK_9 = 57
VK_A = 65
VK_B = 66
VK_C = 67
VK_D = 68
VK_E = 69
VK_F = 70
VK_G = 71
VK_H = 72
VK_I = 73
VK_J = 74
VK_K = 75
VK_L = 76
VK_M = 77
VK_N = 78
VK_O = 79
VK_P = 80
VK_Q = 81
VK_R = 82
VK_S = 83
VK_T = 84
VK_U = 85
VK_V = 86
VK_W = 87
VK_X = 88
VK_Y = 89
VK_Z = 90
VK_LWIN = 91
VK_RWIN = 92
VK_APPS = 93
VK_NUMPAD0 = 96
VK_NUMPAD1 = 97
VK_NUMPAD2 = 98
VK_NUMPAD3 = 99
VK_NUMPAD4 = 100
VK_NUMPAD5 = 101
VK_NUMPAD6 = 102
VK_NUMPAD7 = 103
VK_NUMPAD8 = 104
VK_NUMPAD9 = 105
VK_MULTIPLY = 106
VK_ADD = 107
VK_SEPARATOR = 108
VK_SUBTRACT = 109
VK_DECIMAL = 110
VK_DIVIDE = 111
VK_F1 = 112
VK_F2 = 113
VK_F3 = 114
VK_F4 = 115
VK_F5 = 116
VK_F6 = 117
VK_F7 = 118
VK_F8 = 119
VK_F9 = 120
VK_F10 = 121
VK_F11 = 122
VK_F12 = 123
VK_F13 = 124
VK_F14 = 125
VK_F15 = 126
VK_F16 = 127
VK_F17 = 128
VK_F18 = 129
VK_F19 = 130
VK_F20 = 131
VK_F21 = 132
VK_F22 = 133
VK_F23 = 134
VK_F24 = 135
VK_NUMLOCK = 144
VK_SCROLL = 145
VK_LSHIFT = 160
VK_LCONTROL = 162
VK_LMENU = 164
VK_RSHIFT = 161
VK_RCONTROL = 163
VK_RMENU = 165

Изменено пользователем A1t0r
  • Плюс 2
Ссылка на комментарий
Поделиться на другие сайты

Или можно посмотреть в файле defines,lua от нашего любимого CE.

Спасибо! Не знал, но до этого скрипта ничего подобного не писал, теперь буду знать. :)

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.