如何控制其他程序中的grid(100分)

  • 主题发起人 主题发起人 newton2004
  • 开始时间 开始时间
N

newton2004

Unregistered / Unconfirmed
GUEST, unregistred user!
已经实现用sendmessage向其他程序中的edit发消息wm_settext<br>但dbgrid中是一种特殊的edit,<br>dbgrid的handle和其内部行包含的edit的handle不同,<br>而其内部一行包含的edit的handle是相同的.<br>已知内部行包含的edit的handle时,用sendmessage发消息wm_settext只能控制dbgrid的第一列.<br>我在传送的内容中加回车也不行
 
不清楚楼主,为何要一这样的方式解决问题. 很晕!<br>在程序预先留一个接口.来传递参数, 然后去查询必要的信息, 填充GRID<br>不可以吗? &nbsp;一点点自己的想法.
 
应该不行,GRID不是标准控制,是DELPHI自己画出来的控件,不信你看看源码。所以通过发送标准消息是没法更改其中某格的内容的。
 
1、我想调用其他程序的功能,没有其他程序的源码,<br>2、我通过spy++得到的handle,可以直接用sendmessage发wm_settext模拟输入内容,但grid一行中第一列和其他列的handle相同(spy++显示的),只能改变第一列内容。<br>3、我看到网上通过hook关于获取其他程序grid内容的文章,但没见到设置内容的。<br>4、个人理解为delphi的grid中的内置edit是临时生成的,只有获得focus的列有edit,其他的列是画上的,不知道对不对,我想通过模拟鼠标点选,然后sendmessage,还没试验,觉得方法有点笨,请高手指教。
 
期待高手解决
 
表格内的edit通过spy++看,是TDBGridInplaceEdit类,有句柄,通过sendmessage可以settext,但settext的内容回车后消失,如果手工输入同样内容却正常,请较
 
后退
顶部