如何获得屏幕上所有窗口的类名,标题等?

guohfg 2000-07-03 09:58:00
用C++ Builder写一段程序,使得鼠标移动到屏幕上任意一个窗体上,都能马上获得该窗体的类名。(这些窗体可以是C++ Builder的,也可以是其他程序的,如WORD,EXCEL,NOTEPAD之类)
...全文
1548 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
CoolHg 2001-04-29
  • 打赏
  • 举报
回复
你可以为你的程序用 SetTimer 设置一个时间事件,在你的 WM_TIMER 中你可以用以下句语来得到窗口:
POINT pt;
GetCursorPos(&pt);
HWND hpWnd=NULL, hcWnd=NULL;
hpWnd = ::WindowFromPoint( pt );
if( IsWindow(hpWnd) )
hcWnd = ::ChildWindowFromPointEx( hpWnd, pt, CWP_ALL );

if( IsWindow( hcWnd ) == FALSE )
hcWnd = hpWnd;
得到窗口后就可以用 GetClassName 与 GetwindowText 等来得到你想要的内容了
另外这些语句不能得到enable为FALSE的窗口(如果你可以得到,请告诉我)
最后,这些代码都是在VC中实现的,CB中你可能要稍做改动
hhzh426 2000-07-14
  • 打赏
  • 举报
回复
获取当前鼠标位置:
GetCursorPos(TPoint youpoint);
youpoint.x //鼠标的水平坐标(像素);
youpoint.y //鼠标的垂直坐标(像素);
guohfg 2000-07-03
  • 打赏
  • 举报
回复
Hello WHQ,
请问你如何判断当前鼠标所在的位置及鼠标所指向的窗口名字?
guohfg
WHQ 2000-07-03
  • 打赏
  • 举报
回复
GetClassName(HWND, LPTSTR lpBuffer, int cbBufSize)
alexela 2000-07-03
  • 打赏
  • 举报
回复
你用TIPCMonitor和TIPCClient两个类来编程,可实现应用程序间的通讯,不过得先建一个服务程序(用TIPCMonitor),其他所有被测程序都为客户程序。
具体细节,现在也一时难讲清楚,请参考C++Builder中的应用程序通信的例子。
祝你好运!
(如果可能,不要忘了给我加分!!!!^_^)

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧