c#写一个界面来控制某个软件

lantp 2013-06-13 05:55:47
小弟是一个C#刚入一些门的菜鸟,现在需要做写一个WindowsForm的应用界面来控制一个软件的操作,我遇到了一个问题想请教一下各位,这个软件(比方说QQ音乐), 他的界面里面有很多按钮,例如播放,暂停,声音大小,下一首。 我想自己设计几个控件来分别控制这几个按钮,请问一下如何实现?需要用到什么函数? 能麻烦给我一点代码示例吗 非常感谢
...全文
486 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
flashrhx2010 2013-06-18
  • 打赏
  • 举报
回复
发送点目标软件有的快捷键啊,或者就像做外挂一样,反调试它,得到他每个按钮命令的CALL。然后用你的软件去注入执行
  • 打赏
  • 举报
回复
14楼说得不错,做过一个小工具就是模拟按键控制播放器的上一首下一首暂停等功能,模拟的按键就是播放器的快捷键......
weizhuangwen 2013-06-14
  • 打赏
  • 举报
回复
引用 11 楼 lantp 的回复:
请问一下能给个例子 或者有什么教程看看吧 小弟新手入门 需要一些指导 非常感谢 [quote=引用 9 楼 weizhuangwen 的回复:] 唉,每个月都有人问这样的问题。最终都听信了像2楼这样的回答。 其实楼主做的工具就相当于一个外挂了。外挂有很多种。 这里按照楼主的需要我就给你提供几个方案。 1.是发送endMessage消息 2.是模块注入 3.是UI劫持,把整个UI载入自己的程序中,再遍历子控件进行操作。 建议用第一种,每个UI程序都有自己的回调函数,你可以通过发送endMessage消息,达到控制另外的软件。
[/quote] 例子网上很多,如果像楼上说的QQ,那么就不能获取控件句柄了。因为QQ的底层UI框架都是重写的。需要DLL注入来获得按钮事件的入口。DLL注入可以用HOOK的方式把DLL模块注入到进程中,因为系统在为某进程安装钩子的时候,会自动把带有回调函数的模块载入到被钩锁的进程中。
  • 打赏
  • 举报
回复
PostMessage
lantp 2013-06-14
  • 打赏
  • 举报
回复
@14 15 楼 非常感谢
lantp 2013-06-13
  • 打赏
  • 举报
回复
@4楼 我就是用的windows api 但是貌似控制不到 我觉得是不是需要我想控制的那个软件的接口 或者sdk什么的 只是我是个菜鸟 对这些知识都还不是很了解 有什么教材可以推荐一下吗 非常感谢
lantp 2013-06-13
  • 打赏
  • 举报
回复
@2楼 好的 明白了 非常感谢
lantp 2013-06-13
  • 打赏
  • 举报
回复
1楼能说介绍一下怎么用吗 非常感谢
devmiao 2013-06-13
  • 打赏
  • 举报
回复
获取控件可以使用GetChildWindow以及EbumChildWindows,但是对于QQ这种直接画上去的界面,是无效的,它没有Handler。可以使用模拟鼠标、键盘操作实现控制。
lantp 2013-06-13
  • 打赏
  • 举报
回复
@12楼 我就是用的句柄 但是没有找到合适的例子 例子基本都只是告诉你怎么获取主窗口 我想获取窗口里面的控件 没有找到例子 你有没有可以提供的例子看一下 非常感谢
Jxb_Sir 2013-06-13
  • 打赏
  • 举报
回复
用句柄呗,网上很多例子的
lantp 2013-06-13
  • 打赏
  • 举报
回复
请问一下能给个例子 或者有什么教程看看吧 小弟新手入门 需要一些指导 非常感谢
引用 9 楼 weizhuangwen 的回复:
唉,每个月都有人问这样的问题。最终都听信了像2楼这样的回答。 其实楼主做的工具就相当于一个外挂了。外挂有很多种。 这里按照楼主的需要我就给你提供几个方案。 1.是发送endMessage消息 2.是模块注入 3.是UI劫持,把整个UI载入自己的程序中,再遍历子控件进行操作。 建议用第一种,每个UI程序都有自己的回调函数,你可以通过发送endMessage消息,达到控制另外的软件。
lantp 2013-06-13
  • 打赏
  • 举报
回复
@8楼 我只是打个比方=。=
sj490790083 2013-06-13
  • 打赏
  • 举报
回复
用windows api试试,不过很多软件都隐藏窗体,控件的句柄
jiaoshiyao 2013-06-13
  • 打赏
  • 举报
回复
外挂吧
  • 打赏
  • 举报
回复
你要从一个软件去控制另一个软件,如果被控制的软件有应用程序接口的话,直接调函数接口就可以了。如果接口都没有的话,那你只有呵呵呵
wumin940590725 2013-06-13
  • 打赏
  • 举报
回复
panel.enable
weizhuangwen 2013-06-13
  • 打赏
  • 举报
回复
唉,每个月都有人问这样的问题。最终都听信了像2楼这样的回答。 其实楼主做的工具就相当于一个外挂了。外挂有很多种。 这里按照楼主的需要我就给你提供几个方案。 1.是发送endMessage消息 2.是模块注入 3.是UI劫持,把整个UI载入自己的程序中,再遍历子控件进行操作。 建议用第一种,每个UI程序都有自己的回调函数,你可以通过发送endMessage消息,达到控制另外的软件。
OrangeMemoryH 2013-06-13
  • 打赏
  • 举报
回复
qq音乐之类的 有对外接口!!!!!!????

110,546

社区成员

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

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

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