正在阅读:VC++基础:枚举当前打开的所有窗口VC++基础:枚举当前打开的所有窗口

2004-03-18 14:45 出处:CSDN 作者:taianmonkey 责任编辑:linjixiong
  一、原理

  其原理是利用GetWindowLong(hWnd,GWL_STYLE)& WS_VISIBLE对打开的窗口进行查找,并将窗口的句柄存放在一个HWND的数组中,结合EnumWindows进行窗口的枚举,从而得到响应的窗口名称;

  二、主要函数介绍:
  BOOL EnumWindows(
  WNDENUMPROC lpEnumFunc, // callback function
  LPARAM lParam // application-defined value
  );
  LONG GetWindowLong(
  HWND hWnd, // handle to window
  int nIndex // offset of value to retrieve
  );
  详细资料请查看MSDN;
  在此我定义了一个过程EnumWindowsProc,通过GetWindowLong来完成对打开程序窗口的枚举;通过ListBox实现程序的列举;并将每次调用的枚举结果存放在/info目录下当天日期为文件名称的.txt文件里;

  三、主要实现代码:

  枚举窗口句柄:

  if(::GetWindowLong(hWnd,GWL_STYLE)& WS_VISIBLE)
  {
  m_hwndFind[m_num] = hWnd;//record the HWND handle into array
  m_num++;//count start
  }




察看评论详细内容 我要发表评论
作者笔名简短内容 发表时间
:

相关文章

302 Found

302 Found


Powered by Tengine
tengine