找回密码
 加入
搜索
查看: 1080|回复: 3

关于窗口句柄的一个疑问.

[复制链接]
发表于 2009-5-10 19:02:26 | 显示全部楼层 |阅读模式
本帖最后由 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 是完全一样的啊,
怎么一个有效,一个完全无效呢?
发表于 2009-5-10 19:06:34 | 显示全部楼层
WinSetState (Hwnd($Hwnd2),"",@SW_MINIMIZE)
 楼主| 发表于 2009-5-10 19:52:57 | 显示全部楼层
感谢!
明白了.
发表于 2009-5-11 00:32:05 | 显示全部楼层
我补充一下:注意变量类型。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-7 18:41 , Processed in 0.084574 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表