本来想取个标题《禁止某聊天软件的窗口抖动(OS X)》,不过想必大家都明白,就直接说出来吧。
窗口抖动的确是一个让对方注意到自己的方式,在很多时候也很实用,不过当你遭遇“窗口抖动攻击”的时候,就没有这么好玩了。
分析之后,可以发现与窗口抖动主要相关的为如下几个方法:
+ [TXSoundHelper playShakeWindowSound]; // 接收到抖动窗口命令时播放提示音 + [TXShakeWinAnimation ShakeWindow:]; + [TXShakeWinAnimation ShakeFloatWindow:]; // 真正抖动窗口的方法 - [MQUserNotificationCenter notifyUserOfShakeWindowMessageUsingBuildInTool: chatType:]; - [MQUserNotificationCenter notifyUserOfShakeWindowMessageUsingNSUserNotificationCenter: chatType:]; // 在通知中心提示用户
通过Hook把这五个都改为空函数就行。
如果你不想错过提示的话,可以选择不Hook最后两个;如果你希望有提示音,则不Hook第一个方法。
博主能讲一下OS X下hook的方式有哪些吗?有点糊涂