无法访问VB.net中的Handler

时间:2017-09-23 04:52:18

标签: vb.net visual-studio

您好我正在尝试使用我从这里知道的自定义更改光标“www.codeguru.com/columns/vb/creating-a-.net-component-with-visual-basic.htm”

它给我一个错误 System.AccessVoilation.Exception 我基本上通过谷歌搜索异常来理解,但我不知道如何解决它。

任何人都可以帮助我......

下面是我的代码,我在程序的特定行中获取异常 lHandle = LoadCursor(0,curCursor.Handle)

Imports System.IO
Imports System.Windows.Forms
Imports System.ComponentModel.Design
Imports System.Runtime.InteropServices

Public Class AnimatedCursor_Ex
    Inherits SystemException


Private Declare Unicode Function LoadCursorFromFile Lib "user32.dll" Alias "LoadCursorFromFileW" (ByVal filename As String) As IntPtr
<DllImport("user32", EntryPoint:="SetCursor", CharSet:=CharSet.Auto)>
Private Shared Function SetCursor(ByVal hCursor As Integer) As Integer
End Function

<DllImport("user32.dll", CharSet:=CharSet.Auto)>
Public Shared Function LoadCursor(
    ByVal hInstance As IntPtr,
    ByVal lpCursorName As Integer) As IntPtr
End Function

Private Shared curCursor As Cursor

Private Shared FileName As String



Public Shared Sub ShowCursor()

    Dim lHandle As String

    FileName = Path.Combine(Application.StartupPath, "dinosaur.ani")

    curCursor = CreateCursor(FileName)

    lHandle = LoadCursor(0, curCursor.Handle)



    SetCursor(lHandle)

End Sub

Private Shared Function CreateCursor(ByVal filename As String) As Cursor
    Dim hCursor As IntPtr
    Dim result As Cursor = Nothing

    Try
        hCursor = LoadCursorFromFile(filename)
        If Not IntPtr.Zero.Equals(hCursor) Then
            result = New Cursor(hCursor)
        Else
            'could not create cursor
            Throw New ApplicationException("Could not create cursor from file " & filename)
        End If
    Catch ex As Exception
        'log exception
    End Try

        Return result
    End Function
End Class

0 个答案:

没有答案