[已解决]怎样控制多个谷歌浏览器窗口啊
本帖最后由 ahang 于 2013-12-6 17:29 编辑是这样的,我需要运行两个谷歌浏览器进程(独立进程的那种,不是tab页面),然后将这两个窗口调整为所需大小,并且放在不同的位置。
我现在的思路是在运行程序的时候获取到PID,通过PID获取到窗口句柄,然后就可以用winmove调整大小和位置,但是现在只能获取到PID,无法通过PID获取到窗口句柄。
通过下面这个代码,似乎对谷歌浏览器无效,获取窗口句柄老是出错。
#Include <WinAPIEx.au3>
_WinAPI_EnumProcessWindows([$PID [, $fVisible]])
特地请教一下,万望大侠赐教!谢谢。 坐等大侠出现, 我也在坐等啊,着急。。。怎么没人来赐教一下啊 _WinAPI_GetWindow 看了半天还是不知道怎么用啊。。。求详细指导,谢谢~~~ #Include <WinAPIex.au3>
$PID = Run("notepad")
$handle = _WinAPI_EnumProcessWindows($PID)
Sleep(10000)
WinMove($handle, "", 0, 0, 200, 200)
是这样用吗?求解释啊! 不好意思,看成多个TAB页面找窗口句柄的问题了 #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 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 感谢分享,顶楼上 Func _GetHwndFromPID($PID)
$hWnd = 0
$stPID = DllStructCreate("int")
Do
$win ...
拉风晓晓 发表于 2013-12-6 14:17 http://www.autoitx.com/images/common/back.gif
还是不行啊,我是不是太笨啊。。。5555555 貌似可以了,我再试试看,呵呵 可以了,谢谢你,非常拉风的晓晓,呵呵!{:face (427):}
页:
[1]