今天被弹窗弹得不厌其烦,无奈之下,弄了个小程序,只需右键点击“上线”或“隐身”即可,无需退出QQ重新进入,但是发现会造成QQ主窗口弹出后无法最小化等(可以双击打开聊天窗之类),特发来代码,共同讨论解决方案主代码部分:.版本 2
.支持库 iext5
.子程序 _时钟1_周期事件
.局部变量 窗口句柄, 整数型
.局部变量 窗口句柄2, 整数型
窗口句柄 = FindWindow (“TXGuiFoundation”, “紧急通知:恶意软件正破坏QQ安全运行”) ' 寻找窗口
.如果 (窗口句柄 ≠ 0) ' 如果找到窗口
ShowWindow (窗口句柄, #SW_HIDE) ' 隐藏指定窗口
SetWindowTextA (窗口句柄, “麻花辫我艹你妈”) ' 修改窗口标题
气球提示框1.弹出提示框 (取屏幕宽度 (), 取屏幕高度 (), “麻花辫那SB又开始踢人了”, -1, ) ' 提示用户
窗口句柄2 = FindWindow (“TXGuiFoundation”, “QQ:
2010”) ' 寻找QQ主窗口
EnableWindow (窗口句柄2, 真) ' 允许QQ输入,因为跳出弹窗时候会禁止QQ的输入
.否则
.如果结束
.子程序 __启动窗口_创建完毕
气球提示框1.关联组件 (_启动窗口, “麻花辫那SB又开始踢人了”, -1, , , , )
置托盘图标 (_启动窗口.图标, “麻花辫我艹你妈”)
.子程序 __启动窗口_托盘事件
.参数 操作类型, 整数型
.如果真 (操作类型 = #双击)
_启动窗口.可视 = 真
_启动窗口.在任务条中显示 = 真
.如果真结束
.子程序 _按钮1_被单击
_启动窗口.可视 = 假
_启动窗口.在任务条中显示 = 假
API命令:.版本 2
.DLL命令 ShowWindow, 整数型, "user32.dll", "ShowWindow"
.参数 Hwnd, 整数型
.参数 nCmdShow, 整数型
.DLL命令 FindWindow, 整数型, "user32.dll", "FindWindowA"
.参数 lpClassName, 文本型
.参数 lpWindowName, 文本型
.DLL命令 SetWindowTextA, 整数型, "user32.dll", "SetWindowTextA"
.参数 Hwnd, 整数型
.参数 lpString, 文本型
.DLL命令 EnableWindow, 整数型, "user32.dll", "EnableWindow"
.参数 Hwnd, 整数型
.参数 fEnable, 逻辑型
常量:.版本 2
.常量 SW_HIDE, "0"
使用EnableWindow 可以允许窗口输入,不过不允许最小化等,也许可以用SendMessageA发送消息来最小化,这一个没试过,主要原因就是这样太麻烦了,还得呼出程序界面,还请各位来共同讨论解决方案