C++ 编程求助

x_xx_xxx_xxxx 2017-08-15 01:26:17
我需要完成一个任务:
写一个程序A,这个程序A可以自动执行指定的 .exe 文件(类似于双击 .exe 文件),并且获得 运行后 需要执行的按钮(单复选、按钮 等)LB,接下来继续点击 获取的按钮LB,依次循环直至结束(没有按钮)。
请大神指点一下,这些都会用到什么知识、涉及到什么理论体系,我该怎么去做。
我才接触这一块,望大神指点。
...全文
408 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
x_xx_xxx_xxxx 2020-06-09
  • 打赏
  • 举报
回复
引用 9 楼 联合国装逼协会长 的回复:
还有,使用进程id控制进程不大可靠,最好还是使用进程句柄

收到,3Q!!
qq_45470310 2020-06-07
  • 打赏
  • 举报
回复
引用 8 楼 联合国装逼协会长 的回复:
[quote=引用 3 楼 x_xx_xxx_xxxx 的回复:]

SetWindowPos(hWndAnother, HWND_TOP,0,0,0,0, SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW);
可以用上述代码把要点击的窗口置顶。 注意:hWndAnother 是窗口的句柄,而不是窗口内空间的HWND,否则极易会出错,例如原本应该关掉的窗口,又再次出来,死循环。 但,我想知道,可不可以有一种方法,一个程序A通过获得另一个程序B的进程ID(之类),对程序B的执行进行操控。
这个可以使用hook api实现,但比较麻烦,不如直接模拟鼠标点击 打开exe可以调用CreateProcess函数实现[/quote]还有,使用进程id控制进程不大可靠,最好还是使用进程句柄
qq_45470310 2020-06-07
  • 打赏
  • 举报
回复
引用 3 楼 x_xx_xxx_xxxx 的回复:

SetWindowPos(hWndAnother, HWND_TOP,0,0,0,0, SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW);
可以用上述代码把要点击的窗口置顶。 注意:hWndAnother 是窗口的句柄,而不是窗口内空间的HWND,否则极易会出错,例如原本应该关掉的窗口,又再次出来,死循环。 但,我想知道,可不可以有一种方法,一个程序A通过获得另一个程序B的进程ID(之类),对程序B的执行进行操控。
这个可以使用hook api实现,但比较麻烦,不如直接模拟鼠标点击 打开exe可以调用CreateProcess函数实现
不知道我的 2020-03-20
  • 打赏
  • 举报
回复
引用 6 楼 x_xx_xxx_xxxx 的回复:
[quote=引用 5 楼 不知道我的 的回复:] str = "C:\\Windows\\system32\\notepad.exe"; ShellExecute(NULL,NULL,str,NULL,NULL,SW_SHOW); 然后在exe里顺序执行按钮里面的执行过程
谢谢啦[/quote] 不客气
x_xx_xxx_xxxx 2020-03-19
  • 打赏
  • 举报
回复
引用 5 楼 不知道我的 的回复:
str = "C:\\Windows\\system32\\notepad.exe";
ShellExecute(NULL,NULL,str,NULL,NULL,SW_SHOW);
然后在exe里顺序执行按钮里面的执行过程

谢谢啦
不知道我的 2020-03-17
  • 打赏
  • 举报
回复
str = "C:\\Windows\\system32\\notepad.exe"; ShellExecute(NULL,NULL,str,NULL,NULL,SW_SHOW); 然后在exe里顺序执行按钮里面的执行过程
Luisfan 2017-08-24
  • 打赏
  • 举报
回复
A :shellexecute B 然后findwindow 然后找控件。
x_xx_xxx_xxxx 2017-08-18
  • 打赏
  • 举报
回复

SetWindowPos(hWndAnother, HWND_TOP,0,0,0,0, SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW);
可以用上述代码把要点击的窗口置顶。 注意:hWndAnother 是窗口的句柄,而不是窗口内空间的HWND,否则极易会出错,例如原本应该关掉的窗口,又再次出来,死循环。 但,我想知道,可不可以有一种方法,一个程序A通过获得另一个程序B的进程ID(之类),对程序B的执行进行操控。
x_xx_xxx_xxxx 2017-08-16
  • 打赏
  • 举报
回复
如果被点击的窗口要是在后台运行,获取不到焦点什么的,要怎么处理?
ooolinux 2017-08-15
  • 打赏
  • 举报
回复
发消息模拟点击。

1,221

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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