DLL在method里面运行一个程序的时候同时 怎样传递数据给那个程序?

wwtmw 2002-12-28 04:38:16
DLL在method里面运行一个程序的时候同时 怎样传递数据给那个程序?在window的exe怎样做呢?"

=============
就是说,在
STDMETHODIMP Cmy::function(BSTR bstr)
{
//1.调用一个程序A。(参见http://expert.csdn.net/Expert/topic/1303/1303748.xml?temp=.4429743
所述)
//2.在程序A启动的之前,我希望程序可以读取到 bstr.
}

想到这两个方面:
1.或者可以把 bstr写个file, 但是ATL支持不支持CFile

2.能不能由程序A从 这个DLL里读出bstr. 应该不可以,因为如果程序调用那个DLL,也就是另外调用这个DLL了。。。

怎么办?

请写出具体代码,谢谢!!

...全文
64 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwtmw 2003-01-07
  • 打赏
  • 举报
回复
谢谢!!
四大皆空相 2003-01-06
  • 打赏
  • 举报
回复
1.调用一个程序A: 你可以CreateProcess(..)创建一个子进程,而后把参数fdwCreate 设定成:
CREATE_SUSPENDED(意思是让创建的子进程的主线程挂起)
然后,你可以获取你的字符串,接下来把挂起的主线程释放(ResumeThread()).

2.能不能由程序A从这个DLL里读出bstr. 这个也能够办到,而且方法挺多,
你可以通过发送具备数据的消息来达到(WM_COPYDATA,具体细节搜一下坛子),
当然还可以通过内存映射文件方式来达到(通过 CreateFileMapping()).

wwtmw 2003-01-04
  • 打赏
  • 举报
回复
感谢关注!!
superyh 2003-01-03
  • 打赏
  • 举报
回复
dll?不借助第三方资源好像不能这样做。
CFILE不支持,可以用数据库啊!
wwtmw 2002-12-29
  • 打赏
  • 举报
回复
能给些提示要具体怎样做吗,给些关键的函数也好让我方便搜索啊!!

BTW: 程序A是自己写的。

请帮忙up一下。
wwtmw 2002-12-28
  • 打赏
  • 举报
回复
忘记说了,那个DLL是 已经被另一个程序B 创建并调用的了。

然后DLL想自己运行程序A,同时传递自身的数据给A,A启动并接受数据。

wwtmw 2002-12-28
  • 打赏
  • 举报
回复
可以把答案同时贴到
http://expert.csdn.net/Expert/topic/1303/1303748.xml?temp=.4429743
(90分)

http://expert.csdn.net/Expert/topic/1303/1303749.xml?temp=.140072
(90分)

一样给分。

共200分。


3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧