找回密码
 加入
搜索
查看: 2374|回复: 11

[AU3基础] Bitand 的作用是什么?

  [复制链接]
发表于 2016-9-28 15:40:04 | 显示全部楼层 |阅读模式
本帖最后由 westmood 于 2016-9-28 15:54 编辑

#include <MsgBoxConstants.au3>
#include <Array.au3>
Example()

Func Example()
    ; 检索窗口句柄的列表.
    Local $aList = WinList()

    ; 遍历数组, 循环显示所有可见窗口的标题和句柄.
    For $i = 1 To $aList[0][0]
        If $aList[$i][0] <> "" And BitAND(WinGetState($aList[$i][1]), 2) Then
                        Msgbox (0,"",WinGetState($aList[$i][1]))
                        Msgbox (0,"",BitAND(WinGetState($aList[$i][1]), 2))
                        MsgBox($MB_SYSTEMMODAL, "", "标题: " & $aList[$i][0] & @CRLF & "句柄: " & $aList[$i][1])
        EndIf
    Next

        _ArrayDisplay($aList, UBound($aList))

EndFunc   ;==>Example

请问大侠这个例子里为什么要用Bitand, 作用是什么?为什么 Bitand 的 参考值是2?
发表于 2016-9-28 16:41:10 | 显示全部楼层
回复 1# westmood


    帮助里搜索Bitand 有详细说明的
发表于 2016-9-28 18:56:30 | 显示全部楼层
在这个例子中的作用是检测窗口是否为可见状态。
发表于 2016-9-28 20:01:26 | 显示全部楼层
bitand()函数
返回两个数值型数值在按位进行 AND 运算后的结果。

语法
BITAND(N1,N2)
指定按位进行AND运算的两个数值。如果 N1 和 N2 为非整数型,那么它们在按位进行 AND 运算之前转换为整数。

返回值类型
数值型

说明
BITAND( ) 将 N1 的每一位同 N2 的相应位进行比较。如果 N1 和 N2 的位都是 1,相应的结果位就是 1;否则相应的结果位是 0。
下表列出对 N1 和 N2 按位进行 AND 运算的结果:
N1  N2  结果
0    0    0
0    1    0
1    1    1
1    0    0

函数示例
x = 5 && 二进制为0101
y = 6 && 二进制为0110
?bitand(x,y) && 返回值4,二进制为0100
BITAND=按bit进行and运算
发表于 2016-9-28 20:04:07 | 显示全部楼层
这个bitand函数不是AU3特有的。VB,oracle等也有
发表于 2016-9-28 20:47:41 | 显示全部楼层
回复 3# haijie1223

后边为什么是2我查了资料,也没明白!
发表于 2016-9-28 21:42:30 | 显示全部楼层
回复 6# heroxianf


    因为你查的地方不对。去查WinGetState看看
发表于 2016-9-28 23:42:50 | 显示全部楼层
回复 7# haijie1223

看到了 果然是可见窗口参数是2
发表于 2016-9-29 07:01:56 | 显示全部楼层
回复 8# heroxianf


    少回复些没有营养的内容,多看帮助多搜索。
发表于 2016-9-29 09:12:24 | 显示全部楼层
回复 9# haijie1223


    好勒!!还有十几分,可以搜索内容了!
发表于 2016-9-30 10:08:53 | 显示全部楼层
按位与操作啊,二进制的
发表于 2016-10-2 03:46:35 | 显示全部楼层
果断是::按位与
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-22 16:09 , Processed in 0.226768 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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