Si vous voulez exécuter une fonction DLL à partir de la ligne de commande, utilisez: Rundll.exe
Notez que votre fonction exportée doit correspondre exactement à la signature (C):
void CALLBACK EntryPointW(HWND hwnd, HINSTANCE hinst, LPWSTR lpszCmdLine, int nCmdShow);
Si tel est le non, il n'est pas défini quant à ce qui va arriver, mais vous allez probablement tomber en panne. La routine normale pour appeler des fonctions arbitraires de DLL dans la classe VB est d'utiliser l'instruction Declare. Vous devez connaître la signature de la fonction que vous souhaitez appeler lors de la compilation.
Par exemple:
Declare Function GetUserName Lib "advapi32.dll" Alias _
"GetUserNameA" (ByVal lpBuffer As String, ByRef nSize As Integer) As Integer
Function GetUser()
Dim RetVal As Integer
Dim UserName As String
Dim Buffer As String
Buffer = New String(CChar(" "), 25)
RetVal = GetUserName(Buffer, 25)
UserName = Strings.Left(Buffer, InStr(Buffer, Chr(0)) - 1)
MsgBox(UserName)
End Function
Ce code appelle la fonction "GetUserNameA" de advapi32.dll. Il existe de nombreux sites consacrés à la liste de la syntaxe Declare
pour les fonctions de fenêtres arbitraires, de sorte qu'il n'est généralement pas difficile de trouver la bonne.
Vous "n'exécutez pas" de DLL, ce sont juste des bibliothèques qui peuvent être liées dynamiquement et appelées à partir de votre code –
lol @ question. –