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

[系统综合] GetWindowLong()返回的值,怎么知道有没有标题栏等?[已解决]

[复制链接]
发表于 2011-1-20 00:09:35 | 显示全部楼层 |阅读模式
本帖最后由 happytc 于 2011-1-21 18:56 编辑

看了下函数原型,是返回32位值,但au3的好象把它转成了十进制了

比如:_WinAPI_GetWindowLong($hwd, $GWL_STYLE)
我要怎么得到这个返回值的窗口是不是带标题栏?
在C里我知道怎么搞,如:if ( GetWindowLong(hTop, GWL_STYLE) & WS_CAPTION )

在au3里怎么搞?
另外,在C里表达为~WS_CAPTION,在au3怎么表达的?
如在C里是:SetWindowLong(hwd, GWL_STYLE, GetWindowLong(hwd, GWL_STYLE) & ~WS_CAPTION);
 楼主| 发表于 2011-1-20 00:32:24 | 显示全部楼层
难道真的要我每个都去查下它的值,象$WS_CAPTION,再利用它的相反值来实现去掉标题栏:-0xC00000

这样也太麻烦了吧!
发表于 2011-1-20 14:40:27 | 显示全部楼层
明显标题不符
这是位运算符的转换
& 与运算 
| 或运算 
^ 异或运算 
~ 非运算
> > 右移运算 
< < 左移运算
对应应该是
BitAND
BitOR
BitXOR 
BitNOT
BitRotate或者BitShift
 楼主| 发表于 2011-1-21 18:58:45 | 显示全部楼层
回复 3# ceoguang

谢了,发完帖后不久,就查到了au3怎么进行位运算了。
不知道有函数可以完成,还以为可以象C那样有直接的运算符呢!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-21 14:33 , Processed in 0.159801 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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