200分送上,winform中如何用一个程序去控制另一个程序

lonelydreamsym 2008-07-15 11:19:28
两个winform程序a,b,我需要用a控制b的运行,比如控制b的登陆,用a点击b的某个列表,某个按钮,总体来说,在a中找到b的句柄,但之后,如何找到b的某个按钮,或b的对话框的信息,或b的某个列表中的子项,如何实现?
...全文
506 64 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
64 条回复
切换为时间正序
请发表友善的回复…
发表回复
zagj11 2008-07-31
  • 打赏
  • 举报
回复
学习,帮顶!
SSXYC 2008-07-31
  • 打赏
  • 举报
回复
关注
lovefootball 2008-07-31
  • 打赏
  • 举报
回复
Sorry,Control.FromHandle 是我错了,有点想当然了

用API控制是没问题的
你把你要实现的东西贴出来
最好还有代码
出错的地方大家可以帮你调试
f3135210 2008-07-31
  • 打赏
  • 举报
回复
[Quote=引用 49 楼 wuxinyuyun 的回复:]
新手学习
[/Quote]
lonelydreamsym 2008-07-31
  • 打赏
  • 举报
回复
另外a程序中不知道b程序中的控件名称,上面一位朋友给出的方法是不行的.
tony_dagoo 2008-07-31
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lovefootball 的回复:]
用Spy++查看
然后使用FindWindow FindwindowEx找到句柄
然后SendMessage
[/Quote]

这种可以.我试过.不过只成功的控制textbox.
lonelydreamsym 2008-07-31
  • 打赏
  • 举报
回复
不是不结,是偶测试了,都没有得到比较好的解决办法,B程序是其它公司发布的程序,基于net实现的,a是自己写的,我是想以加个壳的方式通过a控制b的运行.
CsToD 2008-07-29
  • 打赏
  • 举报
回复
[Quote=引用 30 楼 zxkid 的回复:]
可以参照一下MSDN Magazine的ManagedSpy的源码
[/Quote]
a12321321321312321 2008-07-29
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 Pw52867 的回复:]
学习
[/Quote]
lonelydreamsym 2008-07-29
  • 打赏
  • 举报
回复
两个程序都是net的,这个确定.
萱哥老了 2008-07-29
  • 打赏
  • 举报
回复
FindWindow + SendMessage

另外 你的控制的意思是什么? 是在你的程序中操作 还是 启动加载其他程序 还是 调用程序 中的某些功能
exy337 2008-07-29
  • 打赏
  • 举报
回复
[Quote=引用 27 楼 amandag 的回复:]
1. 如果你的两个程序都是.NET的应用程序,用反射即可

2. 如果你的受控制程序不是.NET的应用程序,只能使用win32API来控制,如2楼
[/Quote]
学习.
再见品月 2008-07-29
  • 打赏
  • 举报
回复
Mark 学习
CsToD 2008-07-29
  • 打赏
  • 举报
回复
[Quote=引用 50 楼 lovefootball 的回复:]
引用 33 楼 lonelydreamsym 的回复:
两个程序都是net的,这个确定.


如果都是.net的
使用FindWindow FindwindowEx找到句柄
然后可以使用Control.FromHandle
就可以得到你想要的控件了
然后你想干啥就干啥呗

半个月了还不结
[/Quote]


3颗星的人还信口雌黄?
Control.FromHandle
该函数只适用于本进程,跨进程无效

严重怀疑3星的由来(谁去调查一下有没有倒分?)
csharp_study_99 2008-07-29
  • 打赏
  • 举报
回复
up
zhouchunping_99 2008-07-29
  • 打赏
  • 举报
回复
up
hanyu0528 2008-07-29
  • 打赏
  • 举报
回复
学习一下
lovefootball 2008-07-29
  • 打赏
  • 举报
回复
[Quote=引用 33 楼 lonelydreamsym 的回复:]
两个程序都是net的,这个确定.
[/Quote]

如果都是.net的
使用FindWindow FindwindowEx找到句柄
然后可以使用Control.FromHandle
就可以得到你想要的控件了
然后你想干啥就干啥呗

半个月了还不结
无心雨云 2008-07-29
  • 打赏
  • 举报
回复
新手学习
ruguo_58 2008-07-29
  • 打赏
  • 举报
回复
不懂,学习......
加载更多回复(43)

111,098

社区成员

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

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

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