社区
进程/线程/DLL
帖子详情
如何在主程序和DLL 之间传递参数
yangw79
2004-07-28 02:31:45
比如我在我DLL 写了个函数 YANG() 里面使用了 MESSAGEBOX() 但我想让主应用程序调用YANG()的时候就把自己的主窗口传递给这个MESSAGEBOX 使这个MESSAGEBOX的主窗口为我设定的窗口
我的问题在于
我把YANG()加了个参数(CWND *)
但它说没申明 我就把它需要的头文件AFXWIN。H加入 还是说什么已经申明 我糊涂了
哪位能给个完整的代码(局部的调用过程的代码) 谢谢了
...全文
251
12
打赏
收藏
如何在主程序和DLL 之间传递参数
比如我在我DLL 写了个函数 YANG() 里面使用了 MESSAGEBOX() 但我想让主应用程序调用YANG()的时候就把自己的主窗口传递给这个MESSAGEBOX 使这个MESSAGEBOX的主窗口为我设定的窗口 我的问题在于 我把YANG()加了个参数(CWND *) 但它说没申明 我就把它需要的头文件AFXWIN。H加入 还是说什么已经申明 我糊涂了 哪位能给个完整的代码(局部的调用过程的代码) 谢谢了
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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 *
获得当前应用程序执行时所在的目录
在“函数”对象中创建一个新的动态链接库(
DLL
)函数,并设置参数类型和返回值类型。例如: ```powerbuilder Long Declare
DLL
( Long GetModuleFileNameA( Long hModule, String filename, Long nSize ) ) ``` 2. *...
如何从动态链接库(
DLL
)中发消息给调用它的
主程序
第一种方法:将
主程序
的窗口句柄传递到
DLL
中去,通过发送自定义消息
传递参数
第二种方法:
主程序
启动一个线程去主动获得
DLL
中的数据。 第三种方法:创建回调函数,通过该回调函数
传递参数
。...
WPF 两个程序
之间
传递参数
(shell32.
dll
)
讲的比较详细只是实现方式不同:WPF 两个程序
之间
传递参数
(Process)_wpf的exe程序传入参数-CSDN博客 主窗口 /// /// ShellExecute /// /// 指定父窗口句柄:ntPtr.Zero /// 指定要进行的操作:Open /// 指定要打开的...
DLL
传递字符串数组输出参数
不过在释放输出参数的时候出现错误,这是由于输出参数的资源是在
DLL
中申请,而在
主程序
中进行释放,如果申请和释放的方式不一致,就会导致释放出错。 主要的解决方法就是谁申请谁释放。对于这种动态申请的资源,...
MFC的
DLL
中调用函数指针与
主程序
交互
虽然在
DLL
中定义指向
主程序
的函数指针,看似程序逻辑有些混乱,但工程实际应用中有时却得这么干,因此简单总结一下,函数指针在开发中的应用。 第一步: 创建一般的动态库工程Win32s1 第二步: 在动态库.h文件中,...
进程/线程/DLL
15,473
社区成员
49,171
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章