다음을 통해 공유


방법: Windows API 호출(Visual Basic)

업데이트: 2007년 11월

이 예제에서는 user32.dll에서 MessageBox 함수를 정의하여 호출한 다음 문자열을 전달합니다.

예제

이 코드 예제는 IntelliSense 코드 조각으로도 사용할 수 있습니다. 이 코드 조각은 코드 조각 선택기의 Visual Basic 언어에 있습니다. 자세한 내용은 방법: 사용자 코드에 코드 조각 삽입(Visual Basic)을 참조하십시오.

' Defines the MessageBox function.
Public Class Win32
    Declare Auto Function MessageBox Lib "user32.dll" ( _
        ByVal hWnd As Integer, ByVal txt As String, _
        ByVal caption As String, ByVal Type As Integer) _
        As Integer
End Class

' Calls the MessageBox function.
Public Class DemoMessageBox
    Public Shared Sub Main()
        Win32.MessageBox(0, "Here's a MessageBox", "Platform Invoke Sample", 0)
    End Sub
End Class

코드 컴파일

이 예제에는 다음 사항이 필요합니다.

  • System 네임스페이스에 대한 참조

강력한 프로그래밍

다음 조건에서 예외가 발생합니다.

  • 메서드가 static이 아닌 abstract이거나 이전에 정의된 경우. 부모 형식이 인터페이스이거나 name 또는 dllName의 길이가 0인 경우 (ArgumentException)

  • name 또는 dllName이 Nothing인 경우 (ArgumentNullException)

  • 포함하는 형식이 이전에 CreateType을 사용하여 이미 만들어진 경우 (InvalidOperationException)

참고 항목

작업

연습: Windows API 호출

개념

플랫폼 호출

플랫폼 호출 예제

관리되지 않는 DLL 함수 사용

리플렉션 내보내기를 사용하여 메서드 정의

기타 리소스

COM Interop