ALT + LClick

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Gotha
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 106
Зарегистрирован: 20.04.2006 (Чт) 10:55
Откуда: Красногорск

ALT + LClick

Сообщение Gotha » 14.06.2006 (Ср) 10:03

Здравствуйте дамы и господа)
хотел выспросить у вас помощи в нелегком деле генерации нажатия альта и левой кнопки мыши на форме. с шифтом и контролом все получилось, а с альтом никак (
зы. юзал сенд и постмессейдж с параметрами WM_LBUTTOMDOWN(UP) и MK_SHIFT(CONTROL). кака в том, что шифт и контрол хотят а MK_ALT не хочет :cry:
Du stirbst. Besitz stirbt.
Die Sippen sterben.
Der einzig lebt - wir wissen es
Der Toten Tatenruhm.

Gotha
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 106
Зарегистрирован: 20.04.2006 (Чт) 10:55
Откуда: Красногорск

Сообщение Gotha » 14.06.2006 (Ср) 11:00

неужто никто не знает? :shock: хм, нато бы эту тему в ветку не для новичков :lol:
Du stirbst. Besitz stirbt.
Die Sippen sterben.
Der einzig lebt - wir wissen es
Der Toten Tatenruhm.

Nicky
Постоялец
Постоялец
 
Сообщения: 519
Зарегистрирован: 12.08.2004 (Чт) 12:14

Сообщение Nicky » 14.06.2006 (Ср) 11:10

keybd_event

Gotha
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 106
Зарегистрирован: 20.04.2006 (Чт) 10:55
Откуда: Красногорск

Сообщение Gotha » 14.06.2006 (Ср) 11:25

кейбд евент не подойдет, т.к. работать придется с неактивным а возможно и свернутым окном
Du stirbst. Besitz stirbt.
Die Sippen sterben.
Der einzig lebt - wir wissen es
Der Toten Tatenruhm.

Nicky
Постоялец
Постоялец
 
Сообщения: 519
Зарегистрирован: 12.08.2004 (Чт) 12:14

Сообщение Nicky » 14.06.2006 (Ср) 11:55

(GetKeyState(vbKeyMenu) And &HF0000000) <> 0

Gotha
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 106
Зарегистрирован: 20.04.2006 (Чт) 10:55
Откуда: Красногорск

Сообщение Gotha » 14.06.2006 (Ср) 12:03

это проверка на нажатие альта, я не то хотел :( ... но хотя бы реагируешь и пытаешься помочь, на чем спасибо)
Du stirbst. Besitz stirbt.
Die Sippen sterben.
Der einzig lebt - wir wissen es
Der Toten Tatenruhm.

Nicky
Постоялец
Постоялец
 
Сообщения: 519
Зарегистрирован: 12.08.2004 (Чт) 12:14

Сообщение Nicky » 14.06.2006 (Ср) 12:32

WM_SYSKEYDOWN(UP)

Gotha
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 106
Зарегистрирован: 20.04.2006 (Чт) 10:55
Откуда: Красногорск

Сообщение Gotha » 14.06.2006 (Ср) 12:44

не работает (, пробовал
Du stirbst. Besitz stirbt.
Die Sippen sterben.
Der einzig lebt - wir wissen es
Der Toten Tatenruhm.

Nicky
Постоялец
Постоялец
 
Сообщения: 519
Зарегистрирован: 12.08.2004 (Чт) 12:14

Сообщение Nicky » 14.06.2006 (Ср) 12:48

SendMessage'ы:

WM_SYSKEYDOWN
WM_LBUTTONDOWN
WM_LBUTTONUP
WM_SYSKEYUP

не работает?

Gotha
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 106
Зарегистрирован: 20.04.2006 (Чт) 10:55
Откуда: Красногорск

Сообщение Gotha » 14.06.2006 (Ср) 14:36

нет ( ни с VK_MENU ни с прочим
Du stirbst. Besitz stirbt.
Die Sippen sterben.
Der einzig lebt - wir wissen es
Der Toten Tatenruhm.

Gotha
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 106
Зарегистрирован: 20.04.2006 (Чт) 10:55
Откуда: Красногорск

Сообщение Gotha » 14.06.2006 (Ср) 19:32

ап теме, ибо все еще не справился (
спай++ не показывает начальное нажатие альта, показывает нажатие мыши и отпускание а потом WM_SYSKEYUP c VK_MENU, сделал как там - нифига (
хелп!
Du stirbst. Besitz stirbt.
Die Sippen sterben.
Der einzig lebt - wir wissen es
Der Toten Tatenruhm.

Gotha
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 106
Зарегистрирован: 20.04.2006 (Чт) 10:55
Откуда: Красногорск

Сообщение Gotha » 15.06.2006 (Чт) 10:44

ап :cry:
Du stirbst. Besitz stirbt.
Die Sippen sterben.
Der einzig lebt - wir wissen es
Der Toten Tatenruhm.

Nicky
Постоялец
Постоялец
 
Сообщения: 519
Зарегистрирован: 12.08.2004 (Чт) 12:14

Сообщение Nicky » 15.06.2006 (Чт) 13:17

Я сделал В ТОЧНОСТИ, КАК В SPY++
Бэзполэзно :(

[EDIT] Нажатие Alt у меня показывает, идет Alt нажали + мышь нажали + мышь отпустили + Alt отпустили

Gotha
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 106
Зарегистрирован: 20.04.2006 (Чт) 10:55
Откуда: Красногорск

Сообщение Gotha » 15.06.2006 (Чт) 15:48

обьясню ситуацию: пишу программу-макрос для одной онлайн игры. прога контачит с игрой через ее окно, посылая ему клики и прочее, вот у меня как раз спай++ не показывает нажатие альта на окне клиента этой игры (графический движок клиента - HGE)
ссыль на клиент: http://80.237.207.10/files/eos.exe (35 мегабайт)
Du stirbst. Besitz stirbt.
Die Sippen sterben.
Der einzig lebt - wir wissen es
Der Toten Tatenruhm.

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 15.06.2006 (Чт) 17:20

http://www.firststeps.ru/mfc/winapi/keyb/r.php?66

Вот взгляни. Я чё то никак не въеду, но это оно самое :-D

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 15.06.2006 (Чт) 17:29

Да? А где там про мышь?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 15.06.2006 (Чт) 17:42

Ну значит на это оно самое 99% :D

Gotha
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 106
Зарегистрирован: 20.04.2006 (Чт) 10:55
Откуда: Красногорск

Сообщение Gotha » 15.06.2006 (Чт) 18:38

многообещающе кстати.. я это видел но из-за неучености не смог поиграться с битами lParam, может научите, или дадите мини-примерчик? :wink:
Du stirbst. Besitz stirbt.
Die Sippen sterben.
Der einzig lebt - wir wissen es
Der Toten Tatenruhm.

Nicky
Постоялец
Постоялец
 
Сообщения: 519
Зарегистрирован: 12.08.2004 (Чт) 12:14

Сообщение Nicky » 16.06.2006 (Пт) 6:25

Я поигрался, но толку 0
Самому уже интересно, что не так?
Module1
Код: Выделить всё
Option Explicit

Public Const VK_CONTROL = &H11
Public Const VK_MENU = &H12
Public Const VK_SHIFT = &H10

Public Const WM_SYSKEYDOWN = &H104
Public Const WM_SYSKEYUP = &H105
Public Const WM_LBUTTONDOWN = &H201
Public Const WM_LBUTTONUP = &H202
Public Const MK_LBUTTON = &H1

Public Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Public Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, _
  ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Form1
Код: Выделить всё
Option Explicit

Private Sub Command1_Click()
  PostMessage List1.hwnd, WM_SYSKEYDOWN, VK_MENU, ByVal &H20380001
  PostMessage List1.hwnd, WM_LBUTTONDOWN, MK_LBUTTON, ByVal &H100010
  PostMessage List1.hwnd, WM_LBUTTONUP, ByVal 0&, ByVal &H100010
  PostMessage List1.hwnd, WM_SYSKEYUP, VK_MENU, ByVal &HC0380001
End Sub

Private Sub Form_Click()
  List1.AddItem Now & ": " & IIf((GetKeyState(vbKeyMenu) And &HF0000000) <> 0, "Alt-", "") & "Click"
End Sub


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 82

    TopList