vb如何获取鼠标形状的特征码
好像按键精灵有一个GetCursorShape()函数可以获取特征码,不知道VB6能不能实现类似的功能?
附注:
1 最好是机器无关的,不是也可以。
2 特征码就是一串数字,用来区分不同的鼠标形状。
3 获取鼠标形状的位图的操作已经实现,现在就是如何通过这个位图来获取特征码。
4 目前我的实现方法是将位图的Byte数组转换为二进制,然后获取1和0的个数,最后相加获得特征码,有没有比这种方式更好的方法呢?
MousePointer 属性
返回或设置一个值,该值指示在运行时当鼠标移动到对象的一个特定部分时,被显示的鼠标指针的类型。
语法
object.MousePointer [= value]
MousePointer 属性语法包含下面部分:
部分 描述
object 对象表达式,其值是"应用于"列表中的一个对象。
value 整数,按照设置值中的描述指定被显示的鼠标指针类型。
设置值
value 的设置值为:
常数 值 描述
vbDefault 0 (缺省值)形状由对象决定。
VbArrow 1 箭头。
VbCrosshair 2 十字线(crosshair 指针)。
VbIbeam 3 I 型
VbIconPointer 4 图标(矩形内的小矩形)。
VbSizePointer 5 尺寸线(指向东、南、西和北四方向的箭头)。
VbSizeNESW 6 右上-左下尺寸线(指向东北和西南方向的双箭头)。
VbSizeNS 7 垂-直尺寸线(指向南和北的双箭头)。
VbSizeNWSE 8 左上-右下尺寸线(指向东南和西北方向的双箭头)。
VbSizeWE 9 水-平尺寸线(指向东和西两个方向的双箭头)。
VbUpArrow 10 向上的箭头。
VbHourglass 11 沙漏(表示等待状态)。
VbNoDrop 12 不允许放下。
VbArrowHourglass 13 箭头和沙漏。
VbArrowQuestion 14 箭头和问号。
VbSizeAll 15 四向尺寸线。
VbCustom 99 通过 MouseIcon 属性所指定的自定义图标。
说明
在鼠标指针越过窗体或对话框上的控件时,为了指出功能上的改变,可以使用该属性。沙漏标形状设置值 (11) 是很有用的,用来指示用户需要等待过程或操作的完成。
注意 如果应用程序调用 DoEvents,那么 MousePointer 属性在经过 ActiveX 部件时可能暂时地改变
肯定是不一样的,每个程序启动时加载光标的句柄都是动态的.
你如果想进行基于光标本身的判断,那就要多做一步,即保存每个取得的光标图像指纹(可以用哈希或CRC),然后在获取到下一个光标图像时进行对比,如果相同的话就判断为同一个光标图像,再给出同样的编号或索引.
系统并没有对应用程序自己的光标有编制(除了系统自带的外),因为别的应用程序要加载的光标根本是未知的,所以你要自己去维护一个列表,所有出现过的就给出列表中的索引,没出现过的就新建一个索引并加进去.