[已解决]请问关于窗口句柄的问题
本帖最后由 kxing 于 2010-11-9 23:41 编辑请问下这个窗口句柄是否有特定的类型呢?
用变量保存该值时窗口函数可以正常操作。
一旦江获取到的句柄值写入到文本中在读取使用旧无效了。
给各例子测试下:
local $fl=@scriptdir&"\hwnd.txt"
hotkeyset("+{j}","_setstate")
hotkeyset("+{k}","_exit")
while 1
sleep(500)
wend
func _setstate()
if fileexists($fl) then
$hwnd=fileread($fl)
msgbox(0,'show',WinSetState($hwnd,"",@sw_show))
msgbox(0,'',$hwnd)
filedelete($fl)
else
$hwnd=wingethandle(wingettitle(""))
msgbox(0,'hide',winsetstate($hwnd,"",@sw_hide))
msgbox(0,'',$hwnd)
filewrite($fl,$hwnd)
endif
endfunc
func _exit()
msgbox(0,'','')
exit
endfunc
当我用全局变量来保存窗口句柄值时就能正常隐藏/显示。
说明下:隐藏后我并没有打开或关闭其他窗口操作,按道理来说窗口句柄不会被改变。
求高手解答下,多谢! 补充下,如果采用窗口标题(非据柄)进行隐藏/显示可正常操作。
但是考虑到某些窗口标题过长或存在相同标题等问题,因此选用据柄进行。 一般来说,用ini保存比较合适 可能是数据结构不同吧,获取到的结构是一幢多层建筑的话,写入后再读取的就是那层建筑的第一层了。。。。我自己的感觉。。。而且句柄是随机分配的,只能做临时之用,保存它没什么意义。。。。 不管用ini;inf;txt都不可行,除了变量。
我需要保存窗口据柄肯定有所用处了。
一般针对一个窗口只有一个据柄,绝对不会改变的。
所以说,据柄是临时的也只能说该窗口关闭后从新打开的不同。 貌似写入计事本就变质了!应该先转换成二进制再读! 本帖最后由 pusofalse 于 2010-11-13 18:13 编辑
用HWnd函数转换成句柄再使用,有N多问这个问题的人。
把”据”改过来。 sry,没注意,修改过来了。
请问下什么函数能实现这一转换过程呢
多谢! 恩,找到答案了。
多谢!!!! 版主威武,还从来没注意过函数HWnd,汗一个先 没看懂呀!解决了也应该把解决后的贴出来
页:
[1]