这个程序怎么实现?

system_gong 2009-04-27 01:44:44
这个程序怎么实现?
已知windows进程名称(可能有同名的许多进程),没个进程都有一个主窗体,窗体上面有启动的按钮,需要写一个程序实现:运行程序自动点击所有进程窗口上的"启动按钮"!


也不知道我说清楚没?

不知道这个怎么解决,,希望能提供解决方案..谢谢!
...全文
120 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
shiweifu 2009-04-27
  • 打赏
  • 举报
回复
获取句柄,发送消息
xmanlin 2009-04-27
  • 打赏
  • 举报
回复
1楼王道. 别无它法.
liliangbao 2009-04-27
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 hairetz 的回复:]
只要你能获取到每个按钮的句柄,就可以SendMessage实现启动。
[/Quote]
正解~
system_gong 2009-04-27
  • 打赏
  • 举报
回复
同名的进程有好几个,每个进程就一个窗口.窗口上有两个button....比如要分别点击:启动或者停止按钮
god_sun 2009-04-27
  • 打赏
  • 举报
回复

HANDLE hSnapShot;
hSnapShot = CreateToolhelp32Snapshot (TH32CS_SNAPALL,NULL);
PROCESSENTRY32 pEntry;
pEntry.dwSize = sizeof(pEntry);

DWORD dProcessID;
//Buffer for Process Info
char mm[256];
//Get first process
Process32First (hSnapShot, &pEntry);

//Iterate thru all processes
while(1)
{
strcpy (mm, pEntry.szExeFile);//store in CString mm

if (0 == strcmp (mm, 进程名))
{
//用spy++找到窗口按钮的HANDLE,也可以枚举窗口上空间,如果类型为button的(前提只有一个)就sendmessage 点击事件
}
BOOL hRes = Process32Next (hSnapShot,&pEntry);
if (hRes == FALSE)
break;
}

system_gong 2009-04-27
  • 打赏
  • 举报
回复
有没有更详细的步骤呢?
baiwei156 2009-04-27
  • 打赏
  • 举报
回复
这里面有获取句柄的方法
http://topic.csdn.net/t/20050227/21/3810432.html
baiwei156 2009-04-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 Loaden 的回复:]
你要先获取进程的HWND,同时获取启动按钮的HWND,然后SendMessage,没有别的办法。
[/Quote]

1楼正解
  • 打赏
  • 举报
回复
只要你能获取到每个按钮的句柄,就可以SendMessage实现启动。
lpf000 2009-04-27
  • 打赏
  • 举报
回复
帮顶!!!
「已注销」 2009-04-27
  • 打赏
  • 举报
回复
或者获取同时获取启动按钮的CtrlID,通过WM_COMMAND来发送消息。
「已注销」 2009-04-27
  • 打赏
  • 举报
回复
你要先获取进程的HWND,同时获取启动按钮的HWND,然后SendMessage,没有别的办法。

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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