社区
进程/线程/DLL
帖子详情
如何在主程序和DLL 之间传递参数
yangw79
2004-07-28 02:31:45
比如我在我DLL 写了个函数 YANG() 里面使用了 MESSAGEBOX() 但我想让主应用程序调用YANG()的时候就把自己的主窗口传递给这个MESSAGEBOX 使这个MESSAGEBOX的主窗口为我设定的窗口
我的问题在于
我把YANG()加了个参数(CWND *)
但它说没申明 我就把它需要的头文件AFXWIN。H加入 还是说什么已经申明 我糊涂了
哪位能给个完整的代码(局部的调用过程的代码) 谢谢了
...全文
242
12
打赏
收藏
如何在主程序和DLL 之间传递参数
比如我在我DLL 写了个函数 YANG() 里面使用了 MESSAGEBOX() 但我想让主应用程序调用YANG()的时候就把自己的主窗口传递给这个MESSAGEBOX 使这个MESSAGEBOX的主窗口为我设定的窗口 我的问题在于 我把YANG()加了个参数(CWND *) 但它说没申明 我就把它需要的头文件AFXWIN。H加入 还是说什么已经申明 我糊涂了 哪位能给个完整的代码(局部的调用过程的代码) 谢谢了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yangw79
2004-08-03
打赏
举报
回复
还是很糊涂 能不能给点完整的 比如在EXE里面什么地方写下函数 在DLL里面的什么地方写函数指针 我是个新手不太清楚
如果给了完整一点的例子 我可以把分加多
beijingshizi
2004-08-02
打赏
举报
回复
//要调用的函数
BOOL WINAPI CMaxPlatApp::Work_Out( CString type, CString tel, CString para)
{
..................
}
//动态库的函数
typedef BOOL (*SETCALLBACK)( CString dsd , long query , CString path , OUTDIAL_CALLBACK call ) ;
SETCALLBACK function_setpara ;
//要调用的函数指针
typedef BOOL (WINAPI *OUT_CALLBACK)( int type , CString tel , CString para ); //供动态链接库使用的函数指针
//在这儿传入(最后一个参数)
function_setpara ( "dsn=, 10000 , "" , (OUTDIAL_CALLBACK) Work_Trunk_OutDial );
在动态库里面定义一个跟上面一样的函数指针,然后直接执行就可以了
yangw79
2004-08-02
打赏
举报
回复
我的意思是说 如果我在EXE里面写了个函数 如何给DLL用 比如DLL写的函数是通过EXPORTS发布的
这样EXE 可以用LOADLIBRATY 去得到 但DLL 如何得到EXE里面的呢?
beijingshizi
2004-08-02
打赏
举报
回复
不是特别清楚你的用法,如果你是为了在窗口里面显示东西又不想传窗口句柄的话:
回调函数 ,dll初始化的时候把函数指针给他。
然后dll直接调用该函数,在该函数里面完成对窗口的操作。
这样取窗口句柄就在你的工程里面。
yangw79
2004-08-02
打赏
举报
回复
beijingshizi(北京石子)(★★★★★) 如何做 具体点 如何把EXE的函数发布给DLL
syy64
2004-07-28
打赏
举报
回复
你是不是把它的参数没弄对呀。
蒋晟
2004-07-28
打赏
举报
回复
只有MFC扩展DLL中导出的函数可以传递MFC类作为参数。你的问题,我想用HWND做参数就可以了
rfa
2004-07-28
打赏
举报
回复
楼主不要直接写CWnd*,改成void*,然后在函数内部再将指针类型转换为CWnd*就可。
beijingshizi
2004-07-28
打赏
举报
回复
参数类型的问题,可以加头文件,应该是windows.h
调用的问题,可以从exe传入一个函数指针给dll,这样就不用传输数据。
whale
2004-07-28
打赏
举报
回复
估计是你的DLL工程里面已经include了Windows.h吧。如果你的DLL里面用不到MFC的函数,可以把你的参数改成HWND,用api的函数
yangw79
2004-07-28
打赏
举报
回复
什么意思啊 能不能清楚一点
beijingshizi
2004-07-28
打赏
举报
回复
回调函数
或者void *
Windows进程常用
DLL
模块注入技术
课程结合多种Windows进程常用
DLL
注入技术。远程线程注入APC注入,异步调用过程,向目标线程插入待执行任务从而完成注入。窗口消息注入,指定窗口进程注入,与全局钩子注入类似。环境块注入,获取进程上下文信息,直接性修改程序执行流程完成注入。进程入口点注入,在程序初始化的时机前将
dll
模块文件注入至目标主线程。进程调试级注入,涉及调试器相关功能调用知识点
dll
模块重定位内存注入,模拟操作系统加载PE文件方式,直接将
dll
文件内存数据写入目标进程并执行。导入表注入,涉及PE相关知识点,增加区段,移动导入表,增加导入表、增加导出函数,修复表项数据等。内核驱动级
Dll
模块注入技术,内核驱动入门扩展。
如何从动态链接库(
DLL
)中发消息给调用它的
主程序
第一种方法:将
主程序
的窗口句柄传递到
DLL
中去,通过发送自定义消息
传递参数
第二种方法:
主程序
启动一个线程去主动获得
DLL
中的数据。 第三种方法:创建回调函数,通过该回调函数
传递参数
。...
C# 使用C/C++动态链接库(
dll
) ——参数传递&类型移植
需求 在我们的方法调用也经常会遇到参数传递的情况,在传递过程中,如何让C/C++与C#在类型上统一呢? C/C++与C#中都有对应的传入参数和传出参数,简称入参与出参。本次通过出参来记录参数是如何传递的、数据如何接收的、数据类型如何统一对应等。 动态库有个方法可以获取文件名GetFileName的方法,C#调用以获取文件名。 环境 Windows 10 Visual Studio 2017 平台工...
Delphi 中
DLL
的信息共享与参数传递
一、在
主程序
中定义函数//------------------------------------Start Code-- //把共享的变量放在
主程序
里myuid function GetCurUserName:PChar; begin Result:=PChar(myuid); end; {$R *.res} exports GetCurUserName; ...
利用回调函数实现
DLL
与Qt
主程序
的数据交互,进一步实现对Qt
主程序
中的信号触发
利用回调函数实现
DLL
与Qt
主程序
的数据交互,进一步实现对Qt
主程序
中的信号触发Qt并没有提供串口通讯的接口,为了实现Qt程序的串口通讯,多数开发者都采用了一个第三方接口win_qextserialport。这个接口是完全基于Qt类库的,很容易就可以把它加载到自己的程序里边。但在实际应用过程中,发现了一个奇怪的现象:我的上位机程序是要通过控制串口(USB转的)来实现与下位机的通讯,经过测试,在相同...
进程/线程/DLL
15,471
社区成员
49,181
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章