kxing 发表于 2010-3-20 11:59:40

如何按下Application键弹出菜单

请问下在ctrl旁边的那个application怎么弹出上下文菜单呢
和鼠标的右键功能相同的,需要键盘也能触发。
麻烦高手指点!!!!

水木子 发表于 2010-3-20 12:23:55

没明白LZ是的意思,如果只是为了弹出右键菜单,那这样也可以啊!MouseClick('right')

kxing 发表于 2010-3-20 12:27:15

不是的,不知道楼上的朋友用过键盘上的application没。
也就是ctrl左边的那个下拉菜单,如果在选定项目按下会跳出上下文菜单的。
你单击我的电脑,然后按下这个application键他也可以跟鼠标的右键一样的。
我要的就是这种功能,用context创建的只接收鼠标右键,这个application就捕捉不到了。

masterpcc 发表于 2010-3-20 12:53:31

新手!!学习,期待中!!

kxing 发表于 2010-3-20 23:09:57

看来没人研究这个了,哎!!!!

xz00311 发表于 2010-3-21 09:33:32

你看看这个键能不能用因为我记得键盘有几个键是不能用的

kxing 发表于 2010-3-21 13:19:03

可以用的啊,而且没听说哪一个键不能用的呢.
我经常用键盘操作,用鼠标倒是很少!!!

ghl781258 发表于 2010-3-22 15:31:05

看帮助
几句话

lainline 发表于 2010-3-22 17:06:48

本帖最后由 lainline 于 2010-3-22 17:34 编辑

Send ("{APPSKEY}")




或是

_sendkey("93|93|1")
_sendkey("93|93|129")


Func _sendkey($msg);发送键盘按键消息
        Local $GET,$vkCode,$scanCode,$flags
                $GET=StringSplit($msg,"|",2)
                $vkCode=$GET
                $scanCode=$GET
                $flags=$GET
        If $flags=128 Or $flags=129 Or $flags=160 Or $flags=161 Then
                _winapi_keybd_event($vkCode,$scanCode,2)
        ElseIf $flags=1 Then
                _winapi_keybd_event($vkCode,$scanCode,1)
        Else
                _winapi_keybd_event($vkCode,$scanCode,0)
        EndIf
EndFunc


Func _winapi_keybd_event($bVk,$bScan,$dwFlags,$dwExtraInfo="");发送按键信息
        DllCall("user32.dll", "none", "keybd_event", "Byte", $bVk, "Byte", $bScan,"DWORD", $dwFlags,"DWORD", $dwExtraInfo)
        If @error Then Return SetError(@error, @extended, False)
        Return
EndFunc

goodyou520 发表于 2010-3-22 17:23:57

新手!!学习
页: [1]
查看完整版本: 如何按下Application键弹出菜单