ahang 发表于 2013-12-5 21:16:39

[已解决]怎样控制多个谷歌浏览器窗口啊

本帖最后由 ahang 于 2013-12-6 17:29 编辑

是这样的,我需要运行两个谷歌浏览器进程(独立进程的那种,不是tab页面),然后将这两个窗口调整为所需大小,并且放在不同的位置。
我现在的思路是在运行程序的时候获取到PID,通过PID获取到窗口句柄,然后就可以用winmove调整大小和位置,但是现在只能获取到PID,无法通过PID获取到窗口句柄。
通过下面这个代码,似乎对谷歌浏览器无效,获取窗口句柄老是出错。
#Include <WinAPIEx.au3>
_WinAPI_EnumProcessWindows([$PID [, $fVisible]])
特地请教一下,万望大侠赐教!谢谢。

ak47gglllk 发表于 2013-12-6 09:19:05

坐等大侠出现,

ahang 发表于 2013-12-6 11:27:50

我也在坐等啊,着急。。。怎么没人来赐教一下啊

拉风晓晓 发表于 2013-12-6 11:37:39

_WinAPI_GetWindow

ahang 发表于 2013-12-6 13:03:43

看了半天还是不知道怎么用啊。。。求详细指导,谢谢~~~

ahang 发表于 2013-12-6 13:59:37

#Include <WinAPIex.au3>
$PID = Run("notepad")
$handle = _WinAPI_EnumProcessWindows($PID)
Sleep(10000)
WinMove($handle, "", 0, 0, 200, 200)
是这样用吗?求解释啊!

拉风晓晓 发表于 2013-12-6 14:13:49

不好意思,看成多个TAB页面找窗口句柄的问题了

拉风晓晓 发表于 2013-12-6 14:16:40

#Include <Array.au3>
#Include <WinAPIEx.au3>

Opt('MustDeclareVars', 1)

Global $Data = _WinAPI_EnumProcessWindows(ProcessExists('SciTE.exe'))

If IsArray($Data) Then
    _ArrayDisplay($Data, '_WinAPI_EnumProcessWindows')
EndIf

拉风晓晓 发表于 2013-12-6 14:17:43

Func _GetHwndFromPID($PID)
    $hWnd = 0
    $stPID = DllStructCreate("int")
    Do
      $winlist2 = WinList()
      For $i = 1 To $winlist2
            If $winlist2[$i] <> "" Then
                DllCall("user32.dll", "int", "GetWindowThreadProcessId", "hwnd", $winlist2[$i], "ptr", DllStructGetPtr($stPID))
                If DllStructGetData($stPID, 1) = $PID Then
                  $hWnd = $winlist2[$i]
                  ExitLoop
                EndIf
            EndIf
      Next
      Sleep(100)
    Until $hWnd <> 0
    Return $hWnd
EndFunc ;==>_GetHwndFromPID

zzbtlc 发表于 2013-12-6 15:11:36

感谢分享,顶楼上

ahang 发表于 2013-12-6 16:46:35

Func _GetHwndFromPID($PID)
    $hWnd = 0
    $stPID = DllStructCreate("int")
    Do
      $win ...
拉风晓晓 发表于 2013-12-6 14:17 http://www.autoitx.com/images/common/back.gif


    还是不行啊,我是不是太笨啊。。。5555555

ahang 发表于 2013-12-6 17:17:27

貌似可以了,我再试试看,呵呵

ahang 发表于 2013-12-6 17:28:35

可以了,谢谢你,非常拉风的晓晓,呵呵!{:face (427):}
页: [1]
查看完整版本: [已解决]怎样控制多个谷歌浏览器窗口啊