怎么用VC程序得到当前窗口子窗口里面控件的信息(顶层窗口用Delphi编写)?

kxy4341 2009-07-01 05:37:31
需求:
简单点儿说就是想用VC写的程序读取Delphi MDI程序文档里面tree控件或者grid控件的值
可以这样想象:我想通过遍历资源管理器左面的树,得到system32文件夹的位置(我的程序是VC写的,那个该死的资源管理器是用delphi开发的)


详细需求:
用VC写dll执行了一个MDI程序(delphi编写的MDI) (已实现)
MDI每个文档分为左右两个panel,左面是TTreeview,右面有个TQcStringGrid (通过SPY查看得到)
只有一个文档活动
(该MDI程序就像资源管理器,只不过是用DELPHI写的,并且左面树的叶子节点不是文件夹,是文件)

左面节点变动会使右面Grid产生响应,Grid句柄会变化,但左面的TTreeView句柄保持不变 (通过SPY查看得到)

我现在会在VCdll程序里用GetForegroundWindow()得到整个MDI程序的句柄,
并且可以通过控制键盘展开tree的节点,也可以通过控制键盘选定Grid的每一行。
左面的树展开至叶子节点上一层时,右面Grid是每个叶子节点的名称、信息的表,
(因为MDI程序的问题,不能直接选定叶子节点,即不能将焦点放置在叶子节点上)

我想确定的是某个叶子节点的位置。
怎么才能遍历TTreeView的每个节点,或者遍历Grid控件每行每个格子里的字符串,找到我想要的信息的位置?(??)

这个目的可以直接在VC里实现吗(不调用Delphi程序)?
还是需要Delphi写某类dll辅助?
如何实现?

...全文
255 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzz822163 2009-07-02
  • 打赏
  • 举报
回复
http://www.codeproject.com/KB/threads/int64_memsteal.aspx
参考一下,他处理的是listview
蒋晟 2009-07-02
  • 打赏
  • 举报
回复
建议用进程间通讯传数据,用窗口结构来做接口很不稳定。
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 kxy4341 的回复:]
能在VC里得到树控件的句柄吗?
MDI->DOC->left panel -> treeview
[/Quote]
可以
kxy4341 2009-07-01
  • 打赏
  • 举报
回复
能在VC里得到树控件的句柄吗?
MDI->DOC->left panel -> treeview
oyljerry 2009-07-01
  • 打赏
  • 举报
回复
FindWindow等查找对应的控件句柄,通过Spy++查看对应的信息,找到句柄后,SendMessage发送消息给对应的句柄,根据你的需要发送对应的消息
skyxie 2009-07-01
  • 打赏
  • 举报
回复
可以在VC中实现

VC给 delphi编写的MDI 的树控件发消息就可以了... 树控件有N多消息, TVN_XXXX 具体自己查MSDN

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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