如何动态调用第三方的标准dll中的函数
Script控件可以动态调用Com dll 不知道有什么方法可以动态调c++的标准dll这个dll的名称以及函数名我都是未知的,需要动态加载比如我在一个窗口的一个文本框中写入declare funa......
call funa(1,2,3)点击一个执行按钮可以执行这段代码从我写入的地方加载函数。

解决方案 »

  1.   

    dll的导出函数不知道,参数不知道,怎么调用啊!!!!!!!!!
      

  2.   

    和調Windows API一樣的,關鍵看導出函數的修飾符,是不是_stdcall的。
      

  3.   

    如我在DLL中聲明
    extern "C" __declspec(dllexport) int __stdcall BurnInIMEI(char *Sno,char *IMEI,char *MSG)則在VB調用時就可以
    Private Declare Function BurnInIMEI Lib "IMEI_Burn_DLL.dll" (ByVal Sno As String, ByVal IMEI As String, ByVal MSG As String) As IntegerPrivate Sub Command1_Click()
        Dim sImei As String
        Dim sSno As String
        Dim sMsg As String
        sSno = "123456789012"
        sImei = "123456789012345"
        Call BurnInIMEI(sSno, sImei, sMsg)
    End Sub
      

  4.   

    看来大家没有弄明白哦,
    Private Declare Function BurnInIMEI Lib "IMEI_Burn_DLL.dll" (ByVal Sno As String, ByVal IMEI As String, ByVal MSG As String) As IntegerPrivate Sub Command1_Click()
        Dim sImei As String
        Dim sSno As String
        Dim sMsg As String
        sSno = "123456789012"
        sImei = "123456789012345"
        Call BurnInIMEI(sSno, sImei, sMsg)
    End Sub
    我是想把上述信息写在本本框中,点击按钮能执行它.而不是写在VB中,
    换言之,我想实现编译器,不知道怎么调用第三方dll.
    请熟悉ScriptControl的同志说说。
      

  5.   

    倒.你这不是"动态调用DLL内函数"吗?大家看看我的这个思路对不对,我是从CreateRemoteThread里借来的:先载入DLL(LoadLibaryA什么的吧)再用GetXXXXXXXX(忘了)得到指定函数地址最后在自己进程中,应该就是使用CreateThread来搞定吧.不过多参数的问题,还需要研究......不知道那个函数对于多参数函数,是如何处理它的多个参数的.闪,好困~~~
      

  6.   

    我的客户需求是,他希望我的软件提供一个编程接口,这个接口可以让他编程动态的调用它的dll函数。这个dll函数是他自己写的,他要通过他的编程达到,我的软件能够读他的dll的效果。注意:是他要编dll,他要在我的软件提供的编程环境中调用这个dll.他不让我编dll,也不让我在vb中调用他的dll,因为他的dll有无限多个,而且总改总变。我原来提供了一个script控件,可以支持编程,但是只能支持com dll,他要调用的是c的dll
      

  7.   

    我需要解释执行它所输入的程序代码.而这个代码中还有dll的声明和引用。
      

  8.   

    自己顶以下,这个问题我还想找到答案呢?在重申以下问题,问题是,我的程序如何提供一个vba解释器,以便我能够执行用户编写的代码,这代码中有对第三方dll的调用,(如果没有我就用script了)