作者:VB.NET开发
项目:Syste
' 导入命名空间
Imports Microsoft.Win32.SafeHandles
Imports System.Runtime.InteropServices
Module Example
Private Const GENERIC_READ As UInteger = 2147483648
Private Const OPEN_EXISTING As UInteger = 3
Private Const FILE_ATTRIBUTE_NORMAL As UInteger = 128
Private Const FILE_FLAG_OVERLAPPED As UInteger = &h40000000
Private Declare Auto Function CreateFile Lib "Kernel32" Alias "CreateFileW" (
lpFileName As String, dwDesiredAccess As UInt32,
dwShareMode As UInt32, pSecurityAttributes As IntPtr,
dwCreationDisposition As UInt32, dwFlagsAndAttributes As UInt32,
hTemplateFile As IntPtr) As SafeFileHandle
Public Sub Main()
Dim hnd As SafeFileHandle = CreateFile("CallOfTheWild.txt", GENERIC_READ, 0,
IntPtr.Zero, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL Or FILE_FLAG_OVERLAPPED,
IntPtr.Zero)
If hnd.IsInvalid Then
Dim ex As Exception = Marshal.GetExceptionForHR(Marshal.GetHRForLastWin32Error())
Console.WriteLine("Attempt to open file failed:")
Console.WriteLine(" {0}", ex.Message)
Return
Else
Console.WriteLine("File successfully opened.")
hnd.Close()
End If
End Sub
End Module
作者:VB.NET开发
项目:Syste
Module Example
Private Const GW_OWNER As Integer = 4
Private Declare Function GetWindow Lib "user32" (hWnd As IntPtr,
wFlag As Integer) As IntPtr
Public Sub Main()
Dim hwnd = new IntPtr(3)
Dim hOwner As IntPtr = GetWindow(hwnd, GW_OWNER)
If hOwner = IntPtr.Zero Then
Console.WriteLine("Window not found.")
End If
End Sub
End Module