获取另一个winform程序listview或datagridview中显示的数据

静控 2015-12-03 02:14:23
现在有一个窗体程序A,A上面有一个显示数据的控件(listview或者datagridview),我现在要做一个窗体程序B,B的功能是找到A上面的显示数据的控件,并把控件里面的数据导出。

现在我能做的就是找到A窗体的句柄,也能找到显示数据控件的句柄,但是找到句柄后, 调用Win32 API的SendMessage的方法,发现没有可以将 控件内容 进行导出的指令。然后我就不知道怎么做了。

希望有做过这方面的大神能指导我一下, 或者能提供一些别的思路。


ps:我的思路就是 用 FindWindow、FindWindowEx、SendMessaage 这些API,找到A的句柄,然后找到控件的句柄,然后在用SendMessage向控件发消息,因为之前没有接触过API的开发,这些方法都是百度告诉我的

希望大神们帮帮我,跪谢!!!!!!!!!!!
...全文
451 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jesse_Demo 2018-03-02
  • 打赏
  • 举报
回复
429655540@qq.com
Jesse_Demo 2018-03-02
  • 打赏
  • 举报
回复
好久没来 才看到信息,你的程序呢 我看看,发我邮箱吧!我有空做好给你得了
fkelyv 2017-10-31
  • 打赏
  • 举报
回复
引用 22 楼 lxs1314_520 的回复:
我也在搞类似的这个东西,不过已经实现了.net的,其他语言程序如C++、delphi等这些就不会了
最近刚好碰到这个需求,需要写一个小助手从一个.net 2.0开发的程序的DataGirdView取数据,进行比对校验。百度找遍了没找到方法,用之前的ListView的取值方法在DataGirdView取不到数据。 肯请前辈指点一二!谢谢! QQ 2973641737 在线等!
Jesse_Demo 2017-08-10
  • 打赏
  • 举报
回复
我也在搞类似的这个东西,不过已经实现了.net的,其他语言程序如C++、delphi等这些就不会了
l1w1w1 2017-01-16
  • 打赏
  • 举报
回复
我也正在C#玩这个,拿istView的数据和在普通非托管程序里面拿到是一样的。但是c#的程序DataGridView用listview的方法拿不到数据。
静控 2015-12-04
  • 打赏
  • 举报
回复
小弟我又想到一个思路,1)鼠标单击显示数据的控件;2)按CRTL+A;3)按ctrl+C; 这样我就把看数据控件中的数据 复制到了剪贴板里 然后我用程序B把它给写入到一个 文件中。 大神们帮我想想这种方法行不行
静控 2015-12-04
  • 打赏
  • 举报
回复
引用 15 楼 oysy 的回复:
可以引用吧?
引用???、我没明白您的意思
静控 2015-12-04
  • 打赏
  • 举报
回复
引用 17 楼 andywangguanxi 的回复:
我觉得还是花点精力去找到A窗体上数据控件的数据来源吧。总不可能数据是用代码写死在控件上的呀,找到数据源你B窗体里面不就好解决了
一般的数据控件都是显示数据库的数据,当我看不到A的源码的情况下,我怎么找数据源。 其实我想做的程序B就是,A的数据控件里显示什么,我就获取什么。
EdsionWang 2015-12-04
  • 打赏
  • 举报
回复
我觉得还是花点精力去找到A窗体上数据控件的数据来源吧。总不可能数据是用代码写死在控件上的呀,找到数据源你B窗体里面不就好解决了
静控 2015-12-04
  • 打赏
  • 举报
回复
人工置顶补丁2.0
静控 2015-12-03
  • 打赏
  • 举报
回复
引用 13 楼 u010672685 的回复:
[quote=引用 12 楼 oysy 的回复:] 先问下,你2个窗体是不是都是你用C#编的程序?
是的[/quote] 但是我是不可以更改A的源码。
静控 2015-12-03
  • 打赏
  • 举报
回复
引用 12 楼 oysy 的回复:
先问下,你2个窗体是不是都是你用C#编的程序?
是的
飞天凤凰601 2015-12-03
  • 打赏
  • 举报
回复
先问下,你2个窗体是不是都是你用C#编的程序?
lvfeng_95 2015-12-03
  • 打赏
  • 举报
回复
http://blog.csdn.net/lybwwp/article/details/8170584 你看看这个文章
静控 2015-12-03
  • 打赏
  • 举报
回复
引用 9 楼 lvfeng1989 的回复:
你能得到A窗体的句柄,sendmessage就可以返回数据了,你还行做什么啊
我没太明白您的意思, SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM IParam) 第二个参数我没找到可以用来导出控件里数据的消息啊
lvfeng_95 2015-12-03
  • 打赏
  • 举报
回复
你能得到A窗体的句柄,sendmessage就可以返回数据了,你还行做什么啊
静控 2015-12-03
  • 打赏
  • 举报
回复
引用 5 楼 lvfeng1989 的回复:
[quote=引用 2 楼 u010672685 的回复:] 还有一点就是如果 显示数据控件里的数据加密了,那是不是就GG了啊!!!!
控件数据加密???是什么意思,是你在绑定数据的时候进行加密的吗? 如果是这样那你在也可以进行解密。[/quote] 加不加密先放到一边,我现在卡在不知道怎么才能从控件中导出数据 做出导出数据的功能后, 我在考虑加密的问题 大神您能指导一下吗
静控 2015-12-03
  • 打赏
  • 举报
回复
还有一点,我是不能看到A的源码的。A就是一个 .exe 安装后的程序。
静控 2015-12-03
  • 打赏
  • 举报
回复
引用 4 楼 lvfeng1989 的回复:
你可以在A窗体写一个委托用来获取A窗体控件的数据,然后再B窗体调用A窗体定义的委托方法,就能获取A窗体控件的数据了。 如果不知道委托可以去百度一下
我是不能看到A里面的源码的 这个我忘记说了
lvfeng_95 2015-12-03
  • 打赏
  • 举报
回复
引用 2 楼 u010672685 的回复:
还有一点就是如果 显示数据控件里的数据加密了,那是不是就GG了啊!!!!
控件数据加密???是什么意思,是你在绑定数据的时候进行加密的吗? 如果是这样那你在也可以进行解密。
加载更多回复(4)

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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