如题 比如 获得左右键按下 不要告诉我用什么form中的mouse_down之类的
我的意思 最好是api 或用回调函数等 最好给个例子谢谢 分不够可以加
我的意思 最好是api 或用回调函数等 最好给个例子谢谢 分不够可以加
解决方案 »
- 实时错误,百思不得其解
- 这个保存提示为什么不起作用?
- 求助!请问如何让datagrid里面的数据行隔行显示同一种颜色?(也就是相邻两行背景颜色不一样)
- VB6.0中如何生成可执行程序?
- ★★★ 又多一条汉裤(三角形),放分200以表感谢! 下次冲星! ★★★
- 如何在vb中实现程序运行一小时后屏保3分钟?谢谢!
- 这是利用Inet下载文件的例子,我怎样才能获得下载的进度呢!十万火急!!!
- 小弟碰到问题了急需各位老大帮帮小弟了急急!!!!!!
- 问一个很菜的问题:如何判断一个对象是否为 Nothing ?
- 关于VB中的窗口切分技术?
- 急!!!高分求助!!谁知道怎样动态设置odbc数据源
- vb又一个狂菜的问题?
Private Declare Sub mouse_event Lib "user32.dll" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)Call mouse_event(MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_LEFTDOWN, 834, 339, 0, 0)
Call mouse_event(MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_LEFTUP, 834, 339, 0, 0)
DoEvents这是我从我的程序里面拷下来,你好好看看,这些帖子蛮多!!!!
=============================
'''form1 :
Sub form_load()
lMouseHook = SetWindowsHookEx(WH_MOUSE_LL, AddressOf LowLevelMouseProc, App.hInstance, 0)
lKeyBoardHook = SetWindowsHookEx(WH_KEYBOARD_LL, AddressOf LowLevelKeyboardProc, App.hInstance, 0)
End SubPrivate Sub Form_Unload(Cancel As Integer)
If lMouseHook <> 0 Then
UnhookWindowsHookEx lMouseHook
End If
If lKeyBoardHook <> 0 Then
UnhookWindowsHookEx lKeyBoardHook
End If
End Sub
==========================================================
'module1:
Public Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Public Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
Public Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal ncode As Long, ByVal wParam As Long, lParam As Any) As Long消息
Public Const HC_ACTION = 0
Public Const WH_KEYBOARD_LL = 13
Public Const WH_MOUSE_LL = 14'鼠标消息
Public Const WM_RBUTTONUP = &H205
Public Const WM_RBUTTONDOWN = &H204
Public Const WM_LBUTTONUP = &H202
Public Const WM_LBUTTONDOWN = &H201
Public Const WM_MOUSEWHEEL = &H20A
Public Const WM_MOUSEMOVE = &H200'键盘消息
Public Const WM_KEYDOWN = &H100
Public Const WM_KEYUP = &H101Public lMouseHook As Long, lKeyBoardHook As LongPublic Function LowLevelMouseProc(ByVal code As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
If code = HC_ACTION Then
Select Case wParam
Case WM_MOUSEMOVE
Form1.Text1 = "mouse MOVE"
Case WM_RBUTTONUP
Form1.Text1 = "mouse RBUTTONUP"
Case WM_RBUTTONDOWN
Form1.Text1 = "mouse RBUTTONDOWN"
Case WM_LBUTTONUP
Form1.Text1 = "mouse LBUTTONUP"
Case WM_LBUTTONDOWN
Form1.Text1 = "mouse LBUTTONDOWN"
Case WM_MOUSEWHEEL
Form1.Text1 = "mouse MOUSEWHEEL"
End Select
End If If code <> 0 Then
LowLevelMouseProc = CallNextHookEx(0, code, wParam, lParam)
End If
End Function
Public Function LowLevelKeyboardProc(ByVal code As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
If code = HC_ACTION Then
Select Case wParam
Case WM_KEYDOWN
Form1.Caption = "key down"
Case WM_KEYUP
Form1.Caption = "key up"
End Select
End If
If code <> 0 Then
LowLevelKeyboardProc = CallNextHookEx(0, code, wParam, lParam)
End If
End Function
Private Const VK_LBUTTON = &H1
Private Const VK_RBUTTON = &H2Private Sub Form_Load()
Timer1.Interval = 100
End SubPrivate Sub Timer1_Timer()
If GetAsyncKeyState(VK_LBUTTON) Then
Label2.Caption = "Left Click"
ElseIf GetAsyncKeyState(VK_RBUTTON) Then
Label2.Caption = "Right Click"
Else
Label2.Caption = ""
End If任何位置
GetAsyncKeyState得到按键