Button 使用鼠标单击()时自动打开卡片

Button 使用鼠标单击()时自动打开卡片,button,browser,autoit,onmouseclick,Button,Browser,Autoit,Onmouseclick,我有一个脚本,其中定义了一些热键。它们中的每一个都应该在定义的位置模拟鼠标点击(有按钮,我在INI文件中定义位置) 我有一个按钮的问题-通常,当我用脚本模拟鼠标点击时,一切都正常,但当我想同时点击这一个按钮时,当它被按下时,新卡会在web浏览器中打开 当我手动使用鼠标并点击这个有问题的按钮时,新卡不会打开 我就是找不到解决这个问题的方法——我试着寻找,如果有可能的话,锁定打开新卡或类似的东西的可能性,但我什么也没找到 我在两个向量中定义的所有热键: Global $HotKeyArrayHotK

我有一个脚本,其中定义了一些热键。它们中的每一个都应该在定义的位置模拟鼠标点击(有按钮,我在INI文件中定义位置)

我有一个按钮的问题-通常,当我用脚本模拟鼠标点击时,一切都正常,但当我想同时点击这一个按钮时,当它被按下时,新卡会在web浏览器中打开

当我手动使用鼠标并点击这个有问题的按钮时,新卡不会打开

我就是找不到解决这个问题的方法——我试着寻找,如果有可能的话,锁定打开新卡或类似的东西的可能性,但我什么也没找到

我在两个向量中定义的所有热键:

Global $HotKeyArrayHotKeys[] = [ "^1", "^2", "^3", "^4",... ]
Global $HotKeyArrayLabels[] = [ "A", "B", "C", "D",... ]
下一步是制作一个结构向量:

For $i = 0 To $MaxInd-1       $HotKeyArray[$i] =
    DllStructCreate($StructHotKey)  
    DllStructSetData (  $HotKeyArray[$i], "HotKey", string($HotKeyArrayHotKeys[$i]))         
    DllStructSetData (  $HotKeyArray[$i], "Label", string($HotKeyArrayLabels[$i]) )    
Next
结构定义:

Global Const $StructHotKey = "struct;CHAR HotKey[3];CHAR Label[12];INT X;INT Y;INT CheckBoxNr;INT DataNumber;endstruct"
激活热键:

For $i = 0 To $MaxInd
    HotKeySet( DllStructGetData ( $HotKeyArray[$i], "HotKey" ) )    ;
Next
以及由他们打开的功能:

Func UniversalFunc()
   If @HotKeyPressed == DllStructGetData ( $HotKeyArray[0], "HotKey" ) Then
            MouseClick( "left", DllStructGetData ( $HotKeyArray[0], "X" ), DllStructGetData ( $HotKeyArray[2], "Y" ), 1, 1 )
        Return 0
   EndIf
   For $i = 0 To $MaxInd-1
        If @HotKeyPressed == DllStructGetData ( $HotKeyArray[$i], "HotKey" ) Then
            MouseClick( "left", DllStructGetData ( $HotKeyArray[0], "X" ), DllStructGetData ( $HotKeyArray[2], "Y" ), 1, 1 )
            Sleep(50)
            MouseClick( "left", DllStructGetData ( $HotKeyArray[$i], "X" ), DllStructGetData ( $HotKeyArray[$i], "Y" ), 1, 7 )
            Return 0
        EndIf
   Next
    Return 0
EndFunc

X和Y位置从INI文件加载。

由于您已确定控制键按下导致问题,因此有两个选项

选项#1使用不带修改器的热键。不理想。 选项#2在强制单击之前,上下推修改器

func HotKey()
  send("{CTRLDOWN}")
  send("{CTRLUP}")
  MouseClick( "left" ....
EndFunc

选项#2的问题在于,每次要运行热键时,您都必须按下ctrl键。

由于您已确定控制键向下导致了问题,因此您有两个选项

选项#1使用不带修改器的热键。不理想。 选项#2在强制单击之前,上下推修改器

func HotKey()
  send("{CTRLDOWN}")
  send("{CTRLUP}")
  MouseClick( "left" ....
EndFunc

选项#2的问题是,每次要运行热键时都必须按下ctrl键。

控件修饰符是否会把事情弄糟?在进行手动测试时,按住ctrl键以查看是否得到相同的结果。。。这是一个问题。。。我明白了,当按下ctrl键时,只有这个按钮有不同的行为。。。谢谢你的帮助!控制修改器把事情搞砸了吗?在进行手动测试时,按住ctrl键以查看是否得到相同的结果。。。这是一个问题。。。我明白了,当按下ctrl键时,只有这个按钮有不同的行为。。。谢谢你的帮助!