Option Explicit
Private Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long
Private Declare Function ActivateKeyboardLayout Lib "user32" (ByVal HKL As Long, ByVal flags As Long) As Long
Private Declare Function AddFontResource Lib "gdi32" Alias "AddFontResourceA" (ByVal lpFileName As String) As Long
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Sub Form_Load()
Dim a As Long
a = GetModuleHandle("vb5.exe")
Debug.Print a
a = GetModuleHandle("kernel32.dll")
Debug.Print a
a = GetModuleHandle("user32.dll")
Debug.Print a
a = GetModuleHandle("gdi32.dll")
Debug.Print a
a = GetModuleHandle("shell32.dll")
Debug.Print a
a = GetModuleHandle("advapi32.dll")
Debug.Print a
End Sub
Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long
说明
获取一个应用程序或动态链接库的模块句柄
返回值
Long,如执行成功成功,则返回模块句柄。零表示失败。会设置GetLastError
参数表
参数 类型及说明
lpModuleName String,指定模块名,这通常是与模块的文件名相同的一个名字。例如,NOTEPAD.EXE程序的模块文件名就叫作NOTEPAD
注解
只有在当前进程的场景中,这个句柄才会有效