VB 改变桌面鼠标图标
用VB实现,就是当前有一个111文件夹,111文件夹里有已经制作好的鼠标图标,当单击程序中“改变”按钮的时候,使桌面图标改变为111文件夹里面的鼠标图标,当单击“取消”的...
用VB实现,就是当前有一个111文件夹,111文件夹里有已经制作好的鼠标图标,当单击程序中“改变”按钮的时候,使桌面图标改变为111文件夹里面的鼠标图标,当单击“取消”的时候,还原为windows的原始图标。能直接给出实例么?
展开
2个回答
展开全部
不知道你是修改的是系统的还是程序的?
如果是程序的那就如上位所说 若想让关闭程序后鼠标仍改变那就参考下面
Declare Function LoadCursorFromFile Lib "user32" Alias "LoadCursorFromFileA" (ByVal lpFileName As String) As Long
Declare Function SetSystemCursor Lib "user32" Alias "SetSystemCursor" (ByVal hCur As Long, ByVal id As Long) As Long
'关于 SetSystemCursor
hCur:光标的句柄,该函数hCur标识的光标的内容代替id定义的系统光标内容。系统通过调用DestroyCursor函数销毁hCur。因此hCur不能是由LoadCursor函数载入的光标。要指定一个从资源载入的光标,先用CopyCursor函数复制该光标,然后把该副本传送给SetSystemCursor函数。
id:指定由hour的内容替换系统光标。
下面是一系列的系统光标标识符:
OCR_APPSTARTING:标准箭头和小的沙漏
OCR_NORMAL:标准箭头
OCR_CROSS:交叉十字线光标
OCR_HAND:手的形状(Windows NT 5.0 和以后版本)
OCR_HELP:箭头和向东标记
OCR_IBEAM:I形梁
OCR_NO:斜的圆
OCR_SIZEALL:四个方位的箭头分别指向北、南、东、西
OCR_SIZENESEW:双箭头分别指向东北和西南
OCR_SIZENS:双箭头,分别指向北和南
OCR_SIZENWSE:双箭头分别指向西北和东南
OCR_SIZEWE:双箭头分别指向西和东
OCR_UP:垂直箭头
OCR_WAIT:沙漏
然后 SetSystemCursor LoadCursorFromFile("D:\1.ani"),OCR_NORMAL 即可。
系统会自动调用 DestroyCursor 来销毁。
Option Explicit
Private Declare Function LoadCursorFromFile Lib "user32" Alias "LoadCursorFromFileA" (ByVal lpFileName As String) As Long
Private Declare Function SetSystemCursor Lib "user32" (ByVal hCur As Long, ByVal id As Long) As Long
Private Declare Function DestroyCursor Lib "user32" (ByVal hCur As Long) As Long
Private Const OCR_NORMAL = 32512
Dim lRet As Long
Private Sub Form_Load()
lRet = LoadCursorFromFile("D:\Icons\Standard Hand.cur")'我的图标路径
SetSystemCursor lRet, OCR_NORMAL
End Sub
Private Sub Command1_Click()
DestroyCursor(lRet)
End Sub
惨了……变不回去……必须要重设光标了。
但你可以设置单击“取消”后把鼠标换成系统鼠标图案,前提是你要有系统的鼠标文件
如果是程序的那就如上位所说 若想让关闭程序后鼠标仍改变那就参考下面
Declare Function LoadCursorFromFile Lib "user32" Alias "LoadCursorFromFileA" (ByVal lpFileName As String) As Long
Declare Function SetSystemCursor Lib "user32" Alias "SetSystemCursor" (ByVal hCur As Long, ByVal id As Long) As Long
'关于 SetSystemCursor
hCur:光标的句柄,该函数hCur标识的光标的内容代替id定义的系统光标内容。系统通过调用DestroyCursor函数销毁hCur。因此hCur不能是由LoadCursor函数载入的光标。要指定一个从资源载入的光标,先用CopyCursor函数复制该光标,然后把该副本传送给SetSystemCursor函数。
id:指定由hour的内容替换系统光标。
下面是一系列的系统光标标识符:
OCR_APPSTARTING:标准箭头和小的沙漏
OCR_NORMAL:标准箭头
OCR_CROSS:交叉十字线光标
OCR_HAND:手的形状(Windows NT 5.0 和以后版本)
OCR_HELP:箭头和向东标记
OCR_IBEAM:I形梁
OCR_NO:斜的圆
OCR_SIZEALL:四个方位的箭头分别指向北、南、东、西
OCR_SIZENESEW:双箭头分别指向东北和西南
OCR_SIZENS:双箭头,分别指向北和南
OCR_SIZENWSE:双箭头分别指向西北和东南
OCR_SIZEWE:双箭头分别指向西和东
OCR_UP:垂直箭头
OCR_WAIT:沙漏
然后 SetSystemCursor LoadCursorFromFile("D:\1.ani"),OCR_NORMAL 即可。
系统会自动调用 DestroyCursor 来销毁。
Option Explicit
Private Declare Function LoadCursorFromFile Lib "user32" Alias "LoadCursorFromFileA" (ByVal lpFileName As String) As Long
Private Declare Function SetSystemCursor Lib "user32" (ByVal hCur As Long, ByVal id As Long) As Long
Private Declare Function DestroyCursor Lib "user32" (ByVal hCur As Long) As Long
Private Const OCR_NORMAL = 32512
Dim lRet As Long
Private Sub Form_Load()
lRet = LoadCursorFromFile("D:\Icons\Standard Hand.cur")'我的图标路径
SetSystemCursor lRet, OCR_NORMAL
End Sub
Private Sub Command1_Click()
DestroyCursor(lRet)
End Sub
惨了……变不回去……必须要重设光标了。
但你可以设置单击“取消”后把鼠标换成系统鼠标图案,前提是你要有系统的鼠标文件
展开全部
'读取外部图标 Picture1.Picture = LoadPicture( "路径+文件名")
'改变鼠标图标 MousePointer属性就是设置鼠标指针形状的属性,有0~98种可以选择,如果这么多种你还不满意,就将其属性设置为99,然后将MouseIcon属性选择一个以.ico或.cur为扩展名的图标就行了,那个图标就是你鼠标的形状。MousePointer.ico=Picture1.Picture
简写:MousePointer.ico=LoadPicture( "路径+文件名")
.............
删除鼠标图标(其实是恢复原来的样子):MousePointer.ico=LoadPicture( "")
'改变鼠标图标 MousePointer属性就是设置鼠标指针形状的属性,有0~98种可以选择,如果这么多种你还不满意,就将其属性设置为99,然后将MouseIcon属性选择一个以.ico或.cur为扩展名的图标就行了,那个图标就是你鼠标的形状。MousePointer.ico=Picture1.Picture
简写:MousePointer.ico=LoadPicture( "路径+文件名")
.............
删除鼠标图标(其实是恢复原来的样子):MousePointer.ico=LoadPicture( "")
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询