社区
进程/线程/DLL
帖子详情
怎么能够实现,启动一个程序,然后模拟点击这个程序界面中的某个BUTTON,非常棘手,请大家帮忙,谢谢!
VCILOVE
2005-07-01 08:32:29
怎么能够实现,启动一个程序,然后模拟点击这个程序界面中的某个BUTTON,非常棘手,请大家帮忙,谢谢!
现在只知道这个EXE的名字,知道BUTTON的名字,知道这个EXE启动后窗口的名字,其他的都不知道,请问该怎么实现,谢谢!
急用啊!
luckytigerwood@yahoo.com.cn
...全文
236
18
打赏
收藏
怎么能够实现,启动一个程序,然后模拟点击这个程序界面中的某个BUTTON,非常棘手,请大家帮忙,谢谢!
怎么能够实现,启动一个程序,然后模拟点击这个程序界面中的某个BUTTON,非常棘手,请大家帮忙,谢谢! 现在只知道这个EXE的名字,知道BUTTON的名字,知道这个EXE启动后窗口的名字,其他的都不知道,请问该怎么实现,谢谢! 急用啊! luckytigerwood@yahoo.com.cn
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sky
2005-12-15
打赏
举报
回复
嗯,可能我也会用到,记一下。
VCILOVE
2005-07-04
打赏
举报
回复
谢谢,再来试试,我问的是怎么在.BAT里面发送消息
oyljerry
2005-07-02
打赏
举报
回复
可以自己设定执行完了发送一个消息什么的
ggg82
2005-07-02
打赏
举报
回复
估计你这个窗口应该是进程下的主窗口吧,否则你首先要点开这个窗口了
罗列进程窗口,找到这个窗口,找子窗口得到button的ID,然后向窗口发送WM_COMMAND,BUTTONID消息即可
洋溢2016
2005-07-02
打赏
举报
回复
酷!
kugou123
2005-07-02
打赏
举报
回复
获取按钮句柄,然后SendMessage
VCILOVE
2005-07-02
打赏
举报
回复
谢谢,不过那个在程序中调用一个.BAT文件,怎么知道这个BAT文件已经执行完毕了的问题,谁帮忙给看看啊,谢谢
VCILOVE
2005-07-02
打赏
举报
回复
就是不会在.BAT里添加发送消息什么的,谁能说的详细一点呢,谢谢
xing_xing_xing
2005-07-01
打赏
举报
回复
//枚举子窗口
BOOL CALLBACK EnumChildProc(HWND hwndChild, LPARAM lParam)
{
char buf[10];
GetWindowText(hwndChild,buf,10);
if(strcmp(buf,"7") == 0) //按钮标题
{
::PostMessage(hwndChild,WM_LBUTTONDOWN,0,0);
::PostMessage(hwndChild,WM_LBUTTONUP,0,0);
}
return TRUE;
}
调用代码
STARTUPINFO si;
PROCESS_INFORMATION pi;
memset(&si,0,sizeof(si));
si.cb = sizeof(si);
memset(&pi,0,sizeof(pi));
//创建进程
CreateProcess("c:\\windows\\system32\\calc.exe",NULL,NULL,NULL,FALSE,0,NULL,NULL,&si,&pi);
Sleep(500);
HWND hwnd = ::FindWindow(NULL,"计算器");
ASSERT(hwnd);
EnumChildWindows(hwnd, EnumChildProc, 0); //也可以使用FindWindowEx
anyuecq25
2005-07-01
打赏
举报
回复
我曾经做了个点击POPO的程序,但是他那个窗口不是常用的窗口类生成的,用上面的FindWindow GetDlgItem之类的方法得不到他的HWND ,也就没有办法发消息了,最后只能把用上面说的mouse_event方法,自己测算按钮的位置,再点击。
但这样做有些不好的地方,首先,被点击的程序要显示在当前窗口才行,其二精确度不是太高,响应时间也有点慢。
我做那个东西,是想利用POPO的免费短信功能来自动发送短信(比如说要是我不在电脑边,而QQ又有消息,那么就可以通过POPO转发短信)
以上是一种设想,由于我法很好的控制POPO所以还没能实现呢。
poooorgun
2005-07-01
打赏
举报
回复
知道按钮位置就好办,用mouse_event
p4apple
2005-07-01
打赏
举报
回复
你就写个小程序,打开,释放一个固定名称的互赤体,然后把他加到。bat总,你的程序就监测互斥体好了
goodboyws
2005-07-01
打赏
举报
回复
需要知道窗口的类名及标题名称和按钮的ID,这些都可以用SPY++得到。
HWND hWnd = ::FindWindow(szClass, szTitle);
HWND hWndButton = ::GetDlgItem(hWnd, nIDButton);
::SendMessage(hWnd, WM_COMMAND, nIDButton, hWndButton);
VCILOVE
2005-07-01
打赏
举报
回复
还有一个小问题,在程序中调用一个.BAT文件,怎么知道这个BAT文件已经执行完毕了呢,谢谢!
sinall
2005-07-01
打赏
举报
回复
补充楼上,
可以用SendMessage
另:
http://www.vckbase.com/document/viewdoc/?id=771
xiao_xiao_zi
2005-07-01
打赏
举报
回复
先用FindWindow扫描到这个窗口
再用FindWindowEx扫描到按钮(也就是个子窗口)
取得按钮位置,模拟鼠标动作(mouse_event)
很简单
xiaqq
2005-07-01
打赏
举报
回复
CreateProcess
FindWindow
GetWindowRect
mouse_event或者SendInput
VCILOVE
2005-07-01
打赏
举报
回复
谢谢,有没有源码什么的,呵呵,
我会去试以试的
python怎么做gui界面,python gui界面设计
没有按键和键盘快捷键的条目是
一个
简单的字符串 ‘Menu Item’如果要使“ M”成为键盘快捷键,
请
放置
一个
&在快捷键字母前。您可以添加“键”以使菜单项唯一,或作为显示菜单文本的另一种方式来标识菜单项。
游走Android系列之handler
当应用
程序
启动
时,Android首先会开启
一个
主线程 (也就是UI线程) , 主线程为管理界面
中
的UI控件,进行事件分发, 比如说, 你要是
点击
一个
Button
,Android会分发事件到
Button
上,来响应你的操作。 如果此时需要
一个
...
常见驱动
程序
相关知识
其实那只是一种假相:高版本的Windows光盘
中
包含了老型号显卡、声卡等硬件的驱动
程序
,所以在安装Windows的同时,也安装了驱动。不过,我们还是需要学习驱动的知识,因为硬件的更新总是领先于Windows版本的更新的!...
Redis的安装以及在项目
中
使用Redis的一些总结和体会
第一部分:为什么我的项目
中
要使用Redis 我知道有些地方没说到位,希望大神们提出来,我会吸取教训,大家共同进步!...
请
大家先思考
一个
问题:这个问题在大并发、高负载的网站
中
必须考虑!大家思考如何让速度...
使用MicroPython制作红绿灯
模拟
器
我们将首先打开绿色交通信号灯LED和红色步行LED信号,以
模拟
交通信号灯和步行信号。 这是我们将要使用的正常状态。... 如果使用的Pyboard或其他不具有任何联网功能的MicroPython板,则将需要
一个
网络模块。 在
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章