如何监视应用程序的焦点变化

maoyin123456789 2011-03-16 04:11:08
小弟要写个程序,用以记录系统内当前活动窗口的使用顺序。
注:因为鼠标可以要操作系统内不停的点,所以当前的焦点窗口(或者说活动窗口)就在不停的变化,如何记录下他们的变化顺序和时间?用什么方法比较好,希望高手指点一下,谢谢!
...全文
117 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
MoXiaoRab 2011-04-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 maoyin123456789 的回复:]
引用 2 楼 fishion 的回复:
定时器用GetActiveWindow

或者就用钩子,看下WM_ACTIVATE这个消息

能给我一个这种钩子的例子吗?只要得到消息就行了
[/Quote]
MSDN上有例子的,去MSDN搜索HOOK
maoyin123456789 2011-03-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 fishion 的回复:]
定时器用GetActiveWindow

或者就用钩子,看下WM_ACTIVATE这个消息
[/Quote]
能给我一个这种钩子的例子吗?只要得到消息就行了
maoyin123456789 2011-03-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 huangcheng90 的回复:]
WM_FOCUS WM_ACTIVE GetForegroundWindow 获取当前时间CTime::GetCurrentTime
[/Quote]
这怎么知道当前窗口什么时候变化呢?
maoyin123456789 2011-03-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 fishion 的回复:]
定时器用GetActiveWindow

或者就用钩子,看下WM_ACTIVATE这个消息
[/Quote]
能说得详细点嘛,我是新手,不太会
Dreadnought 2011-03-16
  • 打赏
  • 举报
回复
WM_FOCUS WM_ACTIVE GetForegroundWindow 获取当前时间CTime::GetCurrentTime
fishion 2011-03-16
  • 打赏
  • 举报
回复
定时器用GetActiveWindow

或者就用钩子,看下WM_ACTIVATE这个消息

maoyin123456789 2011-03-16
  • 打赏
  • 举报
回复
自己先顶一下

15,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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