十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
不知道你是修改的是系统的还是程序的?
专注于为中小企业提供成都网站设计、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业商都免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
如果是程序的那就如上位所说 若想让关闭程序后鼠标仍改变那就参考下面
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
惨了……变不回去……必须要重设光标了。
但你可以设置单击“取消”后把鼠标换成系统鼠标图案,前提是你要有系统的鼠标文件
属性里面先把UseWaitCursor改为true然后再改Cursor的属性。选择一个你要的形状
你好!
使用SENDKEY就可以了。如:
SENDKEY
{TAB}
则是相当于按了键盘上的TAB键
打字不易,采纳哦!
比如你要更换在你某个窗体上的光标。
那么在这个窗体内用这样的代码
Me.Cursor = System.Windows.Forms.Cursors.Cross
如果你要更换当前系统显示的光标
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Cross
其中Cross代表十字光标,你也可以更改成其他的,直接查看Cursors中的各成员就可以找到了。
几乎找不到真正VB.NET的api,都是自己将VB的api改成VB.NET的api,我的理解是声明中对应输入是H的地方保留Long,其他的Long改成Integer,既然VB.NET连MSDN都找不到较全的api说明,不保证api的用法在VB.NET其他版本中适用。
给你个好玩的例子,包括鼠标的隐藏(Ctrl_↓)、显示(Ctrl_↑),移动、点击
在Form1上放上2个TextBox,其中TextBox1.Multiline = True,并且面积大些,2个Button,运行后在TextBox1中点击一下会记录位置,移开鼠标,点击移动或点击Button,可模拟在TextBox1中的点击
Public Class Form1
Public My_MousePosition As Point
'模拟鼠标移动、点击
Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Integer, ByVal dy As Integer, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
'定义光标的位置
Declare Function SetCursorPos Lib "user32" Alias "SetCursorPos" (ByVal x As Integer, ByVal y As Integer) As Integer
'鼠标的隐藏
Declare Function ShowCursor Lib "user32" Alias "ShowCursor" (ByVal bShow As Integer) As Integer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
TextBox1.Multiline = True
Button1.Text = "点击"
Button2.Text = "移动"
Me.KeyPreview = True
End Sub
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.Control And e.KeyCode = Keys.Down Then ShowCursor(0)
If e.Control And e.KeyCode = Keys.Up Then ShowCursor(1)
End Sub
Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
TextBox2.Text = MousePosition.X " " MousePosition.Y
End Sub
Private Sub TextBox1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseClick
My_MousePosition = MousePosition
TextBox1.Text = My_MousePosition.X " " My_MousePosition.Y vbCrLf
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
SetCursorPos(My_MousePosition.X, My_MousePosition.Y)
mouse_event(H2, 0, 0, 0, 0)
mouse_event(H4, 0, 0, 0, 0)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
SetCursorPos(My_MousePosition.X, My_MousePosition.Y)
End Sub
End Class
其中
mouse_event Lib "user32" (ByVal dwFlags As Long
的dwFlags的代码是
Const MOUSEEVENTF_LEFTDOWN = H2
Const MOUSEEVENTF_LEFTUP = H4
Const MOUSEEVENTF_MIDDLEDOWN = H20
Const MOUSEEVENTF_MIDDLEUP = H40
Const MOUSEEVENTF_MOVE = H1
Const MOUSEEVENTF_ABSOLUTE = H8000
Const MOUSEEVENTF_RIGHTDOWN = H8
Const MOUSEEVENTF_RIGHTUP = H10