ABRIR DLL EM RUN-TIME

USUARIO.EXCLUIDOS 13/03/2004 13:05:49
#15246
Tipo, assim eu queria:

OpenDll "user32"
Lib "SeiLa"

Print FunctionDll

Ajude
USUARIO.EXCLUIDOS 07/05/2004 21:28:56
#23650
Resposta escolhida

Option Explicit

Private Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long
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 Sub Form_Load()
On Error Resume Next
Dim lb As Long, pa As Long

lb = LoadLibrary("C:\WINNT\System32\minhaDLL.dll")
pa = GetProcAddress(lb, "MinhaFuncaoVB")

CallWindowProc pa, Me.hWnd, 100&, ByVal 0&, ByVal 0&

FreeLibrary lb
End Sub
USUARIO.EXCLUIDOS 25/05/2004 20:36:20
#26653
XANO, esse post já estava fechando e voltou a ficar aberto devido ao problema que houve no site.... Quando ele voltou a ficar aberto eu respondi novamente... Puxa cara você demorou pra ter dúvidas hein... Mais vamos lá.

Não tem sentido algum isso que você deseja fazer !

Se você vai usar uma API que seja um procedimento que tenha passagem de parà¢metros ou função que tenha passagem de parà¢metros (sem esquecer do retorno da função) é muito mais lógico você declarar a API. Se o que vc deseja fosse possivel, daqui a seis meses quando você fosse fazer uma manutenção no seu programa vc com certeza iria pensar "Por que não usei declaração de API".

A API com fucionalidade mais próxima daquilo que vc quer seria a CreateProcess, no entanto, ela só suporta chamada de executáveis e a passagem de parà¢metros simula uma linha de comando.

Pesquisei e não encontrei nada parecido nas APIs descritas no MSDN.

Tópico encerrado , respostas não são mais permitidas