Advertisement
2_2002-2004 Libraries #113671

Call Api by Name

Call an api by its name without Declare. Usefull for Sripts or if u dont know if the Machine is XP or 95...

AI

AI Summary: This codebase represents a historical implementation of the logic described in the metadata. Our preservation engine analyzes the structure to provide context for modern developers.

Source Code
original-source
Private Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long
Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long
Private Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Any, ByVal wParam As Any, ByVal lParam As Any) As Long
Private Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long
Private Sub Form_Load()
 Dim Libary As Long
 Dim PrcAdress As Long
 On Error GoTo NoApi
 'Load the Libary
 Libary = LoadLibrary("user32")
 'Find the procedure we want
 Procadress = GetProcAddress(Libary, "MessageBoxA")
 'Call the Api
 CallWindowProc Procadress, Me.hWnd, "My Message", "Api without Declare", &H0&
 'Unload the libary
 FreeLibrary Libary
NoApi:
End Sub
Original Comments (3)
Recovered from Wayback Machine