vb中getobject只能获取同名进程多开时的第一个进程对象的难题

jygrx 2012-04-09 07:33:59
如题,同一程序多开时,getobject只能获取第一个com对象模型,如何获取第二个?知道进程句柄什么的也不行吗?
请教高手
...全文
2514 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
zloveyour 2014-11-29
  • 打赏
  • 举报
回复
C# 也遇到同样问题,COM 组件不是 EXCEL 或 WORD,进程有多个,只能获取到第一个进程的 COM Z组件 OBJECT。
不知道楼主有没有解决?
worldy 2012-12-10
  • 打赏
  • 举报
回复
如果没有指定第一个参数,返回的一个新创建的对象
worldy 2012-12-10
  • 打赏
  • 举报
回复
GetObject(aFileName,"Word.Application") 重要的是第一个参数,不是第二个
scchenlin 2012-12-10
  • 打赏
  • 举报
回复
楼上的,可否说详细些
神马都能聊 2012-06-01
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
第一个实例作为主管;
其他实例通过 GetObject() 取得第一个实例,然后将自己的信息记录在第一实例中;这样就可以通过第一实例获取其他实例的信息了。
[/Quote]
顶,Office就是这样做的。
三断笛 2012-05-31
  • 打赏
  • 举报
回复
应该可以的.
比如说用webbrowser的句柄可以获得webbrowser的各个对象.
可以试试以下方法
1.用MSAA技术
2.使用shell对象
3.使用汇编,在一些自定义浏览器的代码里有这种方式,这点可以请教一下超级绿豆,据说他擅长.
4.使用olelib,IOleContainer,Iolewindow,iolecontrol这些接口或许能获得那个对象.
百度一下"hWnd获得IWebBrowser接口"能获得相关信息.

推荐页面:
http://www.cnblogs.com/xxaxx/archive/2009/12/29/1635333.html
http://blog.csdn.net/skyremember/article/details/3432544
xsh2003 2012-05-31
  • 打赏
  • 举报
回复
同样的问题一直没有解决。
changechange 2012-04-25
  • 打赏
  • 举报
回复
这个问题应该N多人问过了,没办法指定获取第几个实例的。

Tiger_Zhao 2012-04-12
  • 打赏
  • 举报
回复
把你的对象模型和需求描述一下。
通常用 GetObject() 就是看中总返回同一个实例的特性。
bcrun 2012-04-11
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
第一个实例作为主管;
其他实例通过 GetObject() 取得第一个实例,然后将自己的信息记录在第一实例中;这样就可以通过第一实例获取其他实例的信息了。
[/Quote]

说实话没看明白你的意思,能用代码说明一下吗?
jygrx 2012-04-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
第一个实例作为主管;
其他实例通过 GetObject() 取得第一个实例,然后将自己的信息记录在第一实例中;这样就可以通过第一实例获取其他实例的信息了。
[/Quote]
这种方法能操作其它实例吗?我最根本的需要是获得第二个实例application对象啊,与getobject获得的对象类型一致,这样application的自带操作的命令才是全部通了的。
Tiger_Zhao 2012-04-10
  • 打赏
  • 举报
回复
第一个实例作为主管;
其他实例通过 GetObject() 取得第一个实例,然后将自己的信息记录在第一实例中;这样就可以通过第一实例获取其他实例的信息了。
jygrx 2012-04-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
是不是GetObject(,"Word.Application")?
[/Quote]

感谢关注!是这类问题,可是不是WORD,EXCEL什么的,是其它行业软件。我了解excel一类的软件可以先获取
sheet对象,才向上得到application的。这个思路在这儿不通吧。
所以从进程的角度来看,有没有通过进程句柄得到appliation的呢?盼用过的高手指教
bcrun 2012-04-09
  • 打赏
  • 举报
回复
是不是GetObject(,"Word.Application")?
贝隆 2012-04-09
  • 打赏
  • 举报
回复
上代码看看

863

社区成员

发帖
与我相关
我的任务
社区描述
VB COM/DCOM/COM+
c++ 技术论坛(原bbs)
社区管理员
  • COM/DCOM/COM+社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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