您现在的位置是:首页 > 电脑技术查询 > 电脑知识

窗口句柄

编辑:chaxungu时间:2022-09-28 09:40:00分类:电脑知识

在windows中,句柄是一个系统内部数据结构的引用。例如,当你操作一个窗口,或说是一个delphi窗体时,系统会给你一个该窗口的句柄,系统会通知你:你正在操作142号窗口,就此,你的应用程序就能要求系统对142号窗口进行操作——移动窗口、改变窗口大小、把窗口极小化为图标,等等。实际上许多windowsapi函数把句柄作为它的第一个参数,如gdi(图形设备接口)句柄、菜单句柄、实例句柄、位图句柄等等,不仅仅局限于窗口函数。
换句话说,句柄是一种内部代码,通过它能引用受系统控制的特殊元素,如窗口、位图、图标、内存块、光标、字体、菜单等等。
案例:获取窗口句柄
案例说明
本例实现窗口句柄的获取。
实现过程
privatedeclarefunctiongetwindowlonglib"user32"alias"getwindowlonga"(byvalhwndaslong,byvalnindexaslong)aslong
privatedeclarefunctionsetwindowlonglib"user32"alias"setwindowlonga"(byvalhwndaslong,byvalnindexaslong,byvaldwnewlongaslong)aslong
privatedeclarefunctionsetlayeredwindowattributeslib"user32"(byvalhwndaslong,byvalcrkeyaslong,byvalbalphaasbyte,byvaldwflagsaslong)aslong
privateconstws_ex_layered=&h80000
privateconstgwl_exstyle=(-20)
privateconstlwa_alpha=&h2
privatesubform_activate()
onerrorresumenext
fori=0to150step2.5
setlayeredwindowattributesme.hwnd,0,i,lwa_alpha
doevents
nexti
endsub
privatesubform_load()
dimrtnaslong
rtn=getwindowlong(me.hwnd,gwl_exstyle)
rtn=rtnorws_ex_layered
setwindowlongme.hwnd,gwl_exstyle,rtn
setlayeredwindowattributesme.hwnd,0,0,lwa_alpha
endsub

上一篇:尼塔文化

下一篇:gnutella