资源简介
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个文件信息
- 上一篇:精选精搜C++30道必背经典+100道题库
- 下一篇:魔兽ID提取器第二版源码
相关资源
- qTox (基于 peer-to-peer )
- 国际象棋的qt源代码
- VC++ 多线程文件读写操作
- 移木块游戏,可以自编自玩,vc6.0编写
- MFC数字钟(基于VC6.0)
- 安科瑞智能电能表MODBUS通讯程序 VC6
- VC++MFC小游戏实例教程(实例)+MFC类库
- VC6LineNumberAddin.dll
- 用VC6.0实现多边形扫描线填充算法
- VC++实现CMD命令执行与获得返回信息
- VC助手 VC6.0助手
- QT上位机
- qt媒体播放器
- QT5开发及源代码
- qt完整项目
- C++ mqtt 用法
- qt进度条(RoundProgressBar)
- Qt的纽带风格界面实现(Office Ribbon风
- qt 实现画板
- QT Hisi demo
- 基础qt数据库读取和显示
- Qt画图工具源码(qgraphics draw)
- Qt查询SQLite数据库
- QtWebApp
- Qt 实现心电图
- Qt实现 屏幕截图
- qt cmd实现ping
- QT实现USB摄像头拍照
- qt texteditor(富文本编辑器)
- qt 串口助手源码
评论
共有 条评论