打开、关闭其他程序,并能扑捉到其他程序中的按钮、编辑框
打开、关闭其他程序,并能扑捉到其他程序中的按钮、编辑框 假设该程序窗体名称为“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("[TL-WN321G_WN321G+客户端应用程序] 尚未启
动!","错误!");
else
{
::SendMessage(hwnd,WM_CLOSE,0,0);
}
}
//下面函数是扑捉到其他程序中的按钮事件
void CCOpen_CloseDlg::OnReflash()
{
// TODO: Add your control notification handler code
here
HWND hwnd;
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[255];
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
HWND hwnd;
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[255];
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);
}
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
记得有个工具可以
什么意思啊 不明白