关于窗口句柄的一个疑问.
本帖最后由 gaoyuan22 于 2009-5-10 19:53 编辑$Hwnd1 = WinGetHandle("")
MsgBox(0,"提示",$Hwnd1)
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\00yxHwnd","P1","REG_SZ",$Hwnd1)
Sleep(500)
$Hwnd2=RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\00yxHwnd","P1")
MsgBox(0,"提示",$Hwnd2)
If $Hwnd1=$Hwnd2 Then MsgBox(0,"提示","相等")
Sleep(1000)
WinSetState ($Hwnd2,"",@SW_MINIMIZE)
Sleep(1000)
WinActivate($Hwnd2, "")
如上,一段程序自己捕获的 窗口句柄,用来对窗目标窗口操作没有任何问题.
但是,我把捕获的窗口句柄写到注册表里,再读出来,
虽然用
If $Hwnd1=$Hwnd2 Then MsgBox(0,"提示","相等")
来判断
显示 直接读到的 句柄和 从注册表里读到的句柄代码完全一样.
但,用从注册表里读到的句柄代码,却无法对目标窗口进行操作.
变量 $Hwnd1 与 $Hwnd2 是完全一样的啊,
怎么一个有效,一个完全无效呢? WinSetState (Hwnd($Hwnd2),"",@SW_MINIMIZE) 感谢!
明白了. 我补充一下:注意变量类型。
页:
[1]