打开、关闭其他程序,并能扑捉到其他程序中的按钮、编辑框
打开、关闭其他程序,并能扑捉到其他程序中的按钮、编辑框 假设该程序窗体名称为“TL-WN321G/WN321G+客户端应用程序”有关代码如下:
void CCOpen_CloseDlg::OnOpen()
{
HWND hwnd;
hwnd=::FindWindow("#32770","TL-WN321G/WN321G+客户端应
用程序");
if (!hwnd)
{
ShellExecute(hwnd,_T("open"),_T("TL-WN321G_WN321G+客
户端应用程序"),NULL,g_Path,SW_SHOWNORMAL);
}
else
{
MessageBox("已经启动!");
}
}
void CCOpen_CloseDlg::OnClose()
{
HWND hwnd;
hwnd=::FindWindow("#32770","TL-WN321G/WN321G+客户端应
用程序");
if (!hwnd)
MessageBox(" 尚未启
动!","错误!");
else
{
::SendMessage(hwnd,WM_CLOSE,0,0);
}
}
//下面函数是扑捉到其他程序中的按钮事件
void CCOpen_CloseDlg::OnReflash()
{
// TODO: Add your control notification handler code
here
HWNDhwnd;
hwnd=::FindWindow("#32770","TL-WN321G/WN321G+客户端应
用程序");
hwnd=FindWindowEx(hwnd,0,"#32770",0);
//hwnd=FindWindowEx(hwnd,0,"SysListView32",0);
if(hwnd )//如果有那样的一个窗口打开
{
HWND
hwndButton=::FindWindowEx(hwnd,NULL,_T("Button"),_T("刷
新"));
if (hwndButton)
{
//::SendMessage(handMain,WM_COMMAND,1,(long)hwndButton)
;//模拟向button击键--重要!!
//上面语句有时并不能实现模拟向button击键,用下面两行
语句
int nButtonID=::GetDlgCtrlID(hwndButton);//由 Button
的句柄得到其ID
::SendMessage(hwnd,WM_COMMAND,nButtonID,0);//模拟向
button击键
/*char sz;
strcpy(sz,"StevenMzq");
::SendMessage(hwnd2,WM_SETTEXT,255,(long)sz);//将
Button控件的标题改为字符串 StevenMzq
::SendMessage(hwnd2,WM_GETTEXT,255,(long)sz);//将
Button控件的标题存入字符串 sz
*/
}
}
}
//下面函数是扑捉到其他程序中的编辑框事件
void CCOpen_CloseDlg::OnGet()
{
// TODO: Add your control notification handler code
here
HWNDhwnd;
hwnd=::FindWindow("#32770","TL-WN321G/WN321G+客户端应
用程序");
hwnd=FindWindowEx(hwnd,0,"#32770",0);
if(hwnd )//如果有那样的一个窗口打开
{
HWND
hwndEdit=::FindWindowEx(hwnd,NULL,_T("Edit"),NULL);
if (hwndEdit)
{
char sz;
strcpy(sz,"");
//strcpy(sz,"StevenMzq");
//::SendMessage(hwnd,WM_SETTEXT,255,(long)sz);//向
Edit控件中加入字符串 StevenMzq
::SendMessage(hwndEdit,WM_GETTEXT,255,(long)sz);//
将Edit控件中的内容存入字符串 sz
MessageBox(sz);
}
}
}
什么意思啊 不明白 记得有个工具可以
页:
[1]