按键精灵吧 关注:499,421贴子:1,007,171
  • 9回复贴,共1

小白请教如何实现如下指令

只看楼主收藏回复

小白一个。。
我想做这样一件事,
1.每隔1s激活一次窗口1.(这个我会,是用active)
2.如果窗口2(窗口2有父窗口,父窗口不是窗口1)存在,则不再进行第1条;如果窗口2消失,则恢复进行第1条(我只能想到用iswindow,但是这个指令我不会用,总是出现语句无法识别。)
3.循环重复
感谢。。


IP属地:天津1楼2021-12-23 13:45回复
    //这是按照你的要求写的,虽然我无法理解这个怎么正常运行
    窗口1 =0//这里添加窗口1句柄
    窗口2 =0//这里添加窗口2句柄
    Do
    父窗口句柄 = Plugin.Window.GetParentWindow(窗口2)
    If 父窗口句柄 > 0 and 父窗口句柄 <> 窗口1 Then //判断窗口2是否有父窗口并且父窗口不是窗口1
    Delay 100
    Else
    Call Plugin.Window.Active(窗口1)//激活窗口
    End If
    Loop


    IP属地:广东3楼2021-12-23 14:31
    收起回复
      Do
      Delay 100
      If Plugin.Window.IsWindow(窗口2句柄) = 1 Then
      Delay 100
      Else
      Call Plugin.Window.Active(窗口1句柄)
      End If
      Delay 1000
      loop


      IP属地:天津4楼2021-12-23 15:22
      收起回复
        Do
        Delay 100
        If Plugin.Window.IsWindow(窗口2句柄) = 1 Then
        Delay 100
        Else
        Call Plugin.Window.Restore(窗口1句柄)
        Call Plugin.Window.Show(窗口1句柄)
        End If
        Delay 1000
        loop


        IP属地:广东7楼2021-12-23 16:20
        回复
          If Not Plugin.Window.Foreground()=窗口1句柄 Then
          Call Plugin.Window.Active(窗口1句柄)
          End If


          IP属地:浙江8楼2021-12-23 17:08
          回复
            是不是在一个窗口接收,一个窗口填写信息,填写完毕后退出是这样嘛?就是两个窗口中窗口二需要频繁打开,在关闭后窗口一进行刷新。那这个逻辑不通你就换个逻辑啊。还有你这个代码就给局部的,也不知道它整个在脚本中的作用是什么啊,你这个操作是前台还是后台啊。窗口你表达的激活,是真激活还是假激活啊。要是真激活,我觉得你可以换个思路,不判断窗口二存不存在,判断它是否处于激活。不激活肯定就不存在嘛,然后在回去重复循环。


            IP属地:内蒙古9楼2021-12-24 09:26
            回复