回覆列表
  • 1 # 匠工加工

    如果DLL不是你寫的,且你要呼叫的函式不是__stdcall宣告,VB直接呼叫是會報錯的

    如果DLL是你寫的,注意呼叫約定問題,並看以下程式碼

    ***************************************************

    以下是DLL程式碼

    .cpp裡這麼寫

    .def裡這麼寫

    LIBRARY "XXXX"

    EXPORTS ; 此處以下新增

    HelloWorld@1

    *************************************************

    vb裡這麼寫

    然後呼叫就可以了,上面是VB的程式碼,或許VB.net的也差不多

  • 2 # 程式設計頌

    如果DLL不是你寫的,且你要呼叫的函式不是__stdcall宣告,VB直接呼叫是會報錯的

    如果DLL是你寫的,注意呼叫約定問題,並看以下程式碼

    ***************************************************

    以下是DLL程式碼

    .cpp裡這麼寫

    extern "C"__declspec(dllexport) void __stdcall HelloWorld()

    {

    MessageBox(NULL,"HelloWorld","HelloWorld",NULL);

    }

    .def裡這麼寫

    LIBRARY "XXXX"

    EXPORTS

    ; 此處以下新增

    HelloWorld@1

    *************************************************

    vb裡這麼寫

    Public Declare Sub HelloWorld Lib "XXXX.dll" ()

    然後呼叫就可以了,上面是VB的程式碼,或許VB.net的也差不多

  • 中秋節和大豐收的關聯?
  • 殺生丸的武器有哪些?