运行另一程序并完成某次点击 如何做一个程序(最好是MFC程序),让它运行另一个程序,并可以模仿鼠标点击那个程序中的某个子菜单下的选项(使其响应)? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 监控程序是不是mfc都没有关系,具体实现步骤如下:1。FindWindow找到要控制的程序2。EnumChildWindows枚举主窗口上的所有控件3。如果找到了,发送各种消息进行控制,如 ::SendMessage(tempHwnd02, BM_CLICK, NULL, NULL);tempHwnd02是自控件句柄,BM_CLICK是消息4. 循环找并处理 还有一种方法就是用widows batch编程了,我用过一个软件自动测试工具集,用batch编程可以实现对系统程序的一切操作,像安装卸载office什么的都可以自动进行。 他要的是用一个进程运行另一个进程,用CreateProcess函数吧。。 这个已经说的很好的,我都是发送WM_MOUSEDOWN和WM_MOUSEUP的,没试过BM_CLICK 直接发送WM_COMMAND命令不行么? 唉,算了吧、我给你写了个例子,自己下下去研究吧http://www.brsbox.com/filebox/down/fc/6ce645d355b9a983dfded3753ee29b23 1 sendmessage或者Postmessage2 #include <Windows.h>#include <iostream>using namespace std;int main(){WinExec( "C:\\WINDOWS\\NOTEPAD.EXE", SW_SHOW);cout<< "我的功能是运行一个记事本." <<endl;return 0;} 3C++程序中调用exe可执行文件system函数和execl、execv函数不能控制程序窗口是否显示,我要的效果是不显示该exe程序的窗口,所以这两种方法不予考虑。 WinExec函数不好控制主程序来等该exe程序的结束,所以放弃。CreateProcess函数是新建一个进程,所以,你必须人为地控制该进程的生死,不如ShellExecuteEx方便,所以最终我选择的是ShellExecuteEx函数。程序如下:SHELLEXECUTEINFO ShExecInfo = {0}; ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO); ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS; ShExecInfo.hwnd = NULL; ShExecInfo.lpVerb = _T("open"); ShExecInfo.lpFile = _T("c4.5.exe"); ShExecInfo.lpParameters = _T("-f train"); ShExecInfo.lpDirectory = NULL; ShExecInfo.nShow = SW_HIDE; ShExecInfo.hInstApp = NULL; ShellExecuteEx(&ShExecInfo); WaitCursorBegin(); WaitForSingleObject(ShExecInfo.hProcess,INFINITE); WaitCursorEnd(); directx程序加入MFC后,调用DoMoDal出错? 如何在接口函数中调用类对象的成员变量? 对位图的缩放? 哪位哥们给咱发个工具栏资源?100分。 如何捕获鼠标移动的消息呢,毕业设计用的,急! 程序运行时出错(异常)(Debug Assertion Failed!),请指点! ▉▉▉win98机器接宽带上网,有时能连上网,有时连不上,网络不通。真是怪了。 为什么全局变量(一个类指针)在子线程中执行获得一些值却在主线程中为空的 请问 csize类 急!关于Treeview中GetItemData的问题! 这样的语句捕捉的是什么错误
1。FindWindow找到要控制的程序
2。EnumChildWindows枚举主窗口上的所有控件
3。如果找到了,发送各种消息进行控制,如 ::SendMessage(tempHwnd02, BM_CLICK, NULL, NULL);tempHwnd02是自控件句柄,BM_CLICK是消息
4. 循环找并处理
http://www.brsbox.com/filebox/down/fc/6ce645d355b9a983dfded3753ee29b23
2 #include <Windows.h>
#include <iostream>
using namespace std;int main()
{
WinExec( "C:\\WINDOWS\\NOTEPAD.EXE", SW_SHOW);
cout<< "我的功能是运行一个记事本." <<endl;
return 0;
}
3C++程序中调用exe可执行文件
system函数和execl、execv函数不能控制程序窗口是否显示,我要的效果是不显示该exe程序的窗口,所以这两种方法不予考虑。 WinExec函数不好控制主程序来等该exe程序的结束,所以放弃。CreateProcess函数是新建一个进程,所以,你必须人为地控制该进程的生死,不如ShellExecuteEx方便,所以最终我选择的是ShellExecuteEx函数。程序如下:SHELLEXECUTEINFO ShExecInfo = {0};
ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
ShExecInfo.hwnd = NULL;
ShExecInfo.lpVerb = _T("open");
ShExecInfo.lpFile = _T("c4.5.exe");
ShExecInfo.lpParameters = _T("-f train");
ShExecInfo.lpDirectory = NULL;
ShExecInfo.nShow = SW_HIDE;
ShExecInfo.hInstApp = NULL;
ShellExecuteEx(&ShExecInfo);
WaitCursorBegin();
WaitForSingleObject(ShExecInfo.hProcess,INFINITE);
WaitCursorEnd();