我想用一个定时器做到对另一个程序的Edit控件中指定文字的检测,如“程序错误”四个字,请问应该怎样实现?补充,那个程序启动的时候默认界面并没有那个Edit控件,需要点击Tab控件切换到另一个Tab才有。求大侠解答。
解决方案 »
- C++的强制类型转换是啥原理?
- 有没有人用MFC做过多智能体系统仿真?
- 为什么我用WebBrowser类的Navigate()打不开网页啊?
- 去掉标准的标题栏,如何避免最大化覆盖任务栏,还有如何把菜单栏显示在自绘标题栏中,
- VC6.0如何解决CRichEdit控件对中文双引号、破折号等全角符号的支持?
- 利用.tlb文件,建立一个新类的问题
- 哪位大虾能告诉我二维数组如何排序~
- (CString)字符串 + (BYTE)字符串 + (CString)字符串的操作
- 端口数据分析想法
- 如何根据椭圆轨迹方程画出动态的椭圆?
- 郁闷。WSAAsyncSelect居然会创建一个线程。我在同一个程序创建了2个监听,自动生成了3个线程。更郁闷的是,运行好长一段时间后,却变成了2个线程。求解惑
- 使用ERR_error_string出错
先发送点tab的消息然后枚举窗口,得到目标窗口,然后getstring,在枚举完一次窗口之后,就不用枚举了,这个窗口的生命周期是那个软件的生命周期
/*******************************************************************
文件名 :WinMain.cpp
创建者 :hankcs
创建时间 :2010-6-26 18:45:49
功能描述 :获取其他程序中的文本Demo,打开记事本输入随便
几个字符来测试本程序
******************************************************************/
#include <windows.h>
#include <stdio.h>BOOL CALLBACK EnumChildWindowsProc(HWND hwndChild, LPARAM lParam) // 枚举子窗体的函数
{
CHAR szClassName[MAX_PATH];
::GetClassNameA(hwndChild, szClassName, sizeof(szClassName)/sizeof(CHAR));
if(stricmp(szClassName, "Edit") == 0)
{
::SendMessage(hwndChild, WM_GETTEXT, (WPARAM)sizeof(szClassName)/sizeof(CHAR), (LPARAM)szClassName);
MessageBox(NULL, szClassName, "Debug", MB_OK);
}
return (true);
}BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam)
{
char wtitle[512];
GetWindowText(hwnd, wtitle, sizeof(wtitle));
if (strstr(wtitle , "记事本")) //窗口标题含有特定字符
{
EnumChildWindows(hwnd, EnumChildWindowsProc, NULL);
}
return (true);
}///////////////////////////WinMain//////////////////////////////////
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
EnumWindows(EnumWindowsProc, 0);
return 0;
}
///////////////////////////End Sub//////////////////////////////////