注册 登录
编程论坛 VB6论坛

api常量

ah2005 发布于 2021-09-30 11:54, 1679 次点击


这个常量是从查询软件的到的 LVM_FIRST=4096

怎么转成VB可用的 LVM_FIRST=&H1000
7 回复
#2
风吹过b2021-09-30 18:52
LVM_FIRST=&H1000  和  LVM_FIRST=4096 是等价的。

不管你用哪个定义,然后 输出这个标识符的值 ,都是 4096 。
所以你可以第一种的定义,也可以使用第二种的定义。
这二种写法只是按 十六进制 与 十进制 造成的不同写法而以。

[此贴子已经被作者于2021-9-30 18:53编辑过]

#3
hnhhzhb19772021-09-30 18:52
不用转换啊
LVM_FIRST=4096&
LVM_FIRST=&H1000
2种都可以用。注意第一种需强制转换为LONG型就可以了(4096&)
#4
hnhhzhb19772021-09-30 19:02
我没说全 :应该是看你调用这个常量处的API声明,如果是LONG型,2个都要+&强制转换为LONG型,避免生成EXE后给别人的机器用发生未知的错误
#5
hnhhzhb19772021-09-30 19:09
所有的小于65536的常量都尽量符合类型,例如小于256的常量有可能是BYTE、Integer、LONG,更换机器后有几率出现类型的错误,而这个错误你本机是查找不出来的
#6
风吹过b2021-09-30 21:00
经测试,
Const LVM_FIRST  = &H1000
或 Const LVM_FIRST = 4096
使用 TypeName(LVM_FIRST) 取数据类型,得到的都是 integer 类型的数据类型。

Const LVM_FIRST As Long = &H1000
或 Const LVM_FIRST As Long = 4096
或 Const LVM_FIRST  = &H1000&
或 Const LVM_FIRST = 4096&
使用 TypeName(LVM_FIRST) 取数据类型,得到的都是 long 类型的数据类型。

初学者建议强制申明数据类型,而不是使用类型代码 。

#7
约定的童话2021-10-01 08:00
回复 2楼 风吹过b
未知错误号80040154已经发生:没有注册类,这个问题遇到过没?win10+VB6.0企业版
#8
风吹过b2021-10-01 20:31
没遇到过。WIN10下面好多权限问题,我是装 VMware Workstation Pro ,然后里面装xp+vb6 。
1