Bitand 的作用是什么?
本帖最后由 westmood 于 2016-9-28 15:54 编辑#include <MsgBoxConstants.au3>
#include <Array.au3>
Example()
Func Example()
; 检索窗口句柄的列表.
Local $aList = WinList()
; 遍历数组, 循环显示所有可见窗口的标题和句柄.
For $i = 1 To $aList
If $aList[$i] <> "" And BitAND(WinGetState($aList[$i]), 2) Then
Msgbox (0,"",WinGetState($aList[$i]))
Msgbox (0,"",BitAND(WinGetState($aList[$i]), 2))
MsgBox($MB_SYSTEMMODAL, "", "标题: " & $aList[$i] & @CRLF & "句柄: " & $aList[$i])
EndIf
Next
_ArrayDisplay($aList, UBound($aList))
EndFunc ;==>Example
请问大侠这个例子里为什么要用Bitand, 作用是什么?为什么 Bitand 的 参考值是2? 回复 1# westmood
帮助里搜索Bitand 有详细说明的 在这个例子中的作用是检测窗口是否为可见状态。 bitand()函数
返回两个数值型数值在按位进行 AND 运算后的结果。
语法
BITAND(N1,N2)
指定按位进行AND运算的两个数值。如果 N1 和 N2 为非整数型,那么它们在按位进行 AND 运算之前转换为整数。
返回值类型
数值型
说明
BITAND( ) 将 N1 的每一位同 N2 的相应位进行比较。如果 N1 和 N2 的位都是 1,相应的结果位就是 1;否则相应的结果位是 0。
下表列出对 N1 和 N2 按位进行 AND 运算的结果:
N1N2结果
0 0 0
0 1 0
1 1 1
1 0 0
函数示例
x = 5 && 二进制为0101
y = 6 && 二进制为0110
?bitand(x,y) && 返回值4,二进制为0100BITAND=按bit进行and运算 这个bitand函数不是AU3特有的。VB,oracle等也有 回复 3# haijie1223
后边为什么是2我查了资料,也没明白!{:face (197):} 回复 6# heroxianf
因为你查的地方不对。去查WinGetState看看 回复 7# haijie1223
看到了 果然是可见窗口参数是2 回复 8# heroxianf
少回复些没有营养的内容,多看帮助多搜索。 回复 9# haijie1223
好勒!!还有十几分,可以搜索内容了! 按位与操作啊,二进制的 果断是::按位与
页:
[1]