• 大小: 4.83MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-10-29
  • 语言: C/C++
  • 标签: QT  DLL  VC  

资源简介

QT编写DLL给外部程序调用示例 方法 参数 返回值 事件回调 : 1:C#或者 NET 第一步:引入命名空间; using System Runtime InteropServices; 第二步:声明函数 必须与实际DLL中函数名及参数一致; [DllImport "qtdll dll" ] public static extern int add int i ; 第三步:调用函数执行; Console WriteLine add 10 ToString ; 2:QT 第一步:引入头文件; #include <QLibrary> 第二步:定义函数指针 以备调用; typedef int Add int ; 第三步:载入DLL 调用函数执行; QLibrary lib "qtdll dll" ; lib load ; Add add Add lib resolve "add" ; add 50 ; 3:C或C++ 第一步:引入头文件; #include <windows h> 第二步:定义函数指针; typedef int Add int ; 第三步:载入DLL 调用函数执行; HINSTANCE hDll LoadLibrary "qtdll dll" ; 载入DLL获取句柄 if hDll NULL { Add add Add GetProcAddress hDll "add" ; 获取函数地址 printf "%d" add 110 ; FreeLibrary hDll ; 释放DLL }">QT编写DLL给外部程序调用示例 方法 参数 返回值 事件回调 : 1:C#或者 NET 第一步:引入命名空间; using System Runtime InteropServices; 第二步:声明函数 必须与实际DLL中函数名及参数一致; [DllImport "qtdll dll" ] public static extern int add in [更多]

资源截图

代码片段和文件信息

#include “qmfcapp.h“
#include “windows.h“

//windows下DLL函数入口
BOOL WINAPI DllMain( HINSTANCE hInstance DWORD dwReason LPVOID lpvReserved )
{
    static bool ownApplication = FALSE;

    if ( dwReason == DLL_PROCESS_ATTACH )
        ownApplication = QMfcApp::pluginInstance( hInstance );
    if ( dwReason == DLL_PROCESS_DETACH && ownApplication )
        delete qApp;

    return TRUE;
}

//定义函数回调指针
typedef void (CALLBACK *FunCallBack)(int par);
//定义回调函数
FunCallBack OnEvent=NULL;
//定义回调参数
int par;

//定义C语言类型导出事件函数
extern “C“ __declspec(dllexport) void SetFunCallBack(FunCallBack funint p)
{
    OnEvent=fun;
    par=p;
}

//定义C语言类型导出函数
extern “C“ __declspec(dllexport) int add(int i)
{
    //下面这段代码用来触发事件如果仅仅是使用add函数的话可以删除.
    if (i==110){
        if (OnEvent){
            //当传入参数为110而且已经定义过回调函数的话则触发事件.
            OnEvent(120);
        }
    }

    return i*2;
}



 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2014-05-10 17:05  qtdll\
     目录           0  2014-05-10 17:06  qtdllTestC\
     文件         963  2014-05-10 15:55  qtdllTestC\main.c
     文件      244139  2014-05-10 17:06  qtdllTestC\main.exe
     文件       63488  2014-05-10 15:56  qtdllTestC\qtdll.dll
     目录           0  2014-05-10 11:18  qtdllTestNET\
     目录           0  2014-05-10 16:21  qtdllTestNET\qtdllTestNET\
     文件         925  2014-05-10 11:18  qtdllTestNET\qtdllTestNET.sln
     文件       10752  2014-05-10 16:21  qtdllTestNET\qtdllTestNET.suo
     目录           0  2014-05-09 14:42  qtdllTestNET\qtdllTestNET\bin\
     目录           0  2014-05-09 14:42  qtdllTestNET\qtdllTestNET\bin\Debug\
     文件       16384  2014-05-09 14:42  qtdllTestNET\qtdllTestNET\bin\Debug\qtdllTest.exe
     文件       11776  2014-05-09 14:42  qtdllTestNET\qtdllTestNET\bin\Debug\qtdllTest.pdb
     文件        5632  2005-12-08 14:51  qtdllTestNET\qtdllTestNET\bin\Debug\qtdllTest.vshost.exe
     目录           0  2014-05-09 14:43  qtdllTestNET\qtdllTestNET\bin\Release\
     文件       63488  2014-05-10 15:56  qtdllTestNET\qtdllTestNET\bin\Release\qtdll.dll
     文件       16384  2014-05-10 16:21  qtdllTestNET\qtdllTestNET\bin\Release\qtdllTest.exe
     文件       13824  2014-05-10 16:21  qtdllTestNET\qtdllTestNET\bin\Release\qtdllTest.pdb
     文件        5632  2005-12-08 14:51  qtdllTestNET\qtdllTestNET\bin\Release\qtdllTest.vshost.exe
     目录           0  2014-05-10 11:18  qtdllTestNET\qtdllTestNET\obj\
     目录           0  2014-05-09 14:42  qtdllTestNET\qtdllTestNET\obj\Debug\
     文件       16384  2014-05-09 14:42  qtdllTestNET\qtdllTestNET\obj\Debug\qtdllTest.exe
     文件       11776  2014-05-09 14:42  qtdllTestNET\qtdllTestNET\obj\Debug\qtdllTest.pdb
     目录           0  2014-05-09 14:42  qtdllTestNET\qtdllTestNET\obj\Debug\TempPE\
     文件         524  2014-05-10 11:16  qtdllTestNET\qtdllTestNET\obj\qtdllTest.csproj.FileListAbsolute.txt
     文件         297  2014-05-10 17:36  qtdllTestNET\qtdllTestNET\obj\qtdllTestNET.csproj.FileListAbsolute.txt
     目录           0  2014-05-10 16:21  qtdllTestNET\qtdllTestNET\obj\Release\
     文件       16384  2014-05-10 16:21  qtdllTestNET\qtdllTestNET\obj\Release\qtdllTest.exe
     文件       13824  2014-05-10 16:21  qtdllTestNET\qtdllTestNET\obj\Release\qtdllTest.pdb
     目录           0  2014-05-10 11:17  qtdllTestNET\qtdllTestNET\obj\Release\Refactor\
     目录           0  2014-05-09 14:42  qtdllTestNET\qtdllTestNET\obj\Release\TempPE\
............此处省略243个文件信息

评论

共有 条评论