在VB 中AND 有位运算的作用。
&H7FFF&即为0111111111111111B
则屏蔽了高位只佘低位了不知对不对.
我认为
&H7FFF&即为0111111111111111B
则屏蔽了高位只佘低位了不知对不对.
我认为
解决方案 »
- 如何获得256色bmp的色盘或者获得picturebox的hpal属性(GetPaletteEntries函数不会用啊)?
- 求学长们指导VB一个问题
- 请教,能否做出一个类似于oracle中的tnsping命令来快速检测sql server是否正常启动?
- SOS紧急求助,在picturebox里画的线设成虚线居然无效?????????
- 关于打印的一个棘手问题 高手请入 立即散分
- 答应预览
- 请问使用 mciSendString 能播放的档案类型有哪些…….能拨放 .wmv 吗..
- 請教有關hook的問題.
- 关于访问分级 Recordset 中的行
- 有重要问题请教
- 怎样使Statusbar中显示的文字移动?
- 关于在VB中打开DBF数据库的问题
Function WinVer()
ver& = GetVersion()
winhigh = ver& Mod 256
winlow = Int(ver& / 256) Mod 256
WinVer = ((winhigh * 100) + winlow) / 100
End Function另:
http://www.google.com/search?hl=zh-CN&ie=UTF-8&oe=UTF-8&q=VB+%E9%AB%98%E4%BD%8E%E5%AD%97%E8%8A%82&lr=lang_zh-CN
看API区的置顶帖子没有
当初我特地置顶的
LoWord = (dword And &H7FFF&) Or (((dword And &H8000&) <> 0) And &H8000)
End Property
'求低字节的吧?是不是和VC中的LOWORD一样,但为什么要用And &H7FFF&??什么意思?答:dword为32位数据,dword And &H7FFF& 取得32位中的低16位,dword And &H8000& 我认为作用是取得符号位,也32位中的最高位。当dword And &H8000&的值比较后等于0,那么dword And &H8000& and &H8000就为0,如果比较后值为1那么dword And &H8000& and &H8000就为1。起到了取到符号位的作用。那么最后再将dword And &H7FFF&取得的低16位与取得的符号位相或,那么最终LoWord的值就为符号位与低16位的整合数。我想它应和VC++的LOWORD一样。总之VC操作系统低层的东西要比VB容易方便多了,VB有些东西虽然也能实现,但是写起来比较麻烦。
以上是本人自己的观点,可能有错,因为我只学过C,没有学过VC,所有有错还请各位大虾们多多指点…!!!
Private Declare Function HiByte Lib "TLBINF32" Alias "hibyte" (ByVal Word As Integer) As Byte
Private Declare Function loword Lib "TLBINF32" (ByVal DWord As Long) As Integer
Private Declare Function hiword Lib "TLBINF32" (ByVal DWord As Long) As Integer