Если вы хотите, чтобы выполнить функцию DLL из командной строки, используйте: Rundll.exe
Обратите внимание, что ваша экспортируемая функция требуется, чтобы точно соответствовать (C) подпись:
void CALLBACK EntryPointW(HWND hwnd, HINSTANCE hinst, LPWSTR lpszCmdLine, int nCmdShow);
Если это делает нет, не определено, что произойдет, но вы, вероятно, потерпите крах. Обычной процедурой для вызова произвольных функций из dll в классе VB является использование инструкции Declare. Вы должны знать подпись функции, которую хотите вызвать во время компиляции.
Например:
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
Этот код вызывает функцию "GetUserNameA" от ADVAPI32.dll. Существует множество сайтов, посвященных перечислению синтаксиса Declare
для произвольных функций Windows, поэтому обычно сложно найти правильный.
Вы не запустили DLL, это просто библиотеки, которые могут быть связаны динамически и вызваны с вашего кода –
lol @ question. –