C# 获取当前激活窗体改变事件

zq1564171310 2015-02-04 09:49:37
[DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)]
public static extern IntPtr GetForegroundWindow();

可以获取到当前激活窗体的句柄,那么怎么获取到这个句柄(或者说这个窗体)发生改变事件呢?系统有没有相关API,不要用定时器,太耗资源了。
...全文
700 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zq1564171310 2015-09-21
  • 打赏
  • 举报
回复
引用 4 楼 caozhy 的回复:
这就是矛和盾的问题了。你有办法避开,写病毒的人也能避开,那你又要说杀毒软件无能了。
不是从代码方面避开的,如果我有那能力,我就会把代码贴出来,让360完蛋了。 是从流程上规避的,根本不走这一步,就不用去hook了
threenewbee 2015-02-05
  • 打赏
  • 举报
回复
这就是矛和盾的问题了。你有办法避开,写病毒的人也能避开,那你又要说杀毒软件无能了。
zq1564171310 2015-02-05
  • 打赏
  • 举报
回复
感谢您的回答,用hook 的话,安全卫士和系统防火墙可能会有影响 最后我换了一种方案,避开这个环节了。 如果您还有看到的话,我想请教一个系统方面的问题:C#如何让应用程序避开防火墙(假设有些操作引起防火墙的干扰)
threenewbee 2015-02-04
  • 打赏
  • 举报
回复
http://www.codeproject.com/Articles/4725/Manipulating-Windows-using-messages-and-simple-CBT
threenewbee 2015-02-04
  • 打赏
  • 举报
回复
google hook HCBT_ACTIVATE message

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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