以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]关于OPENQQ关闭服务器后客户端弹窗修改  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=77335)

--  作者:vvfree
--  发布时间:2015/11/16 18:45:00
--  [求助]关于OPENQQ关闭服务器后客户端弹窗修改

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20151116184143.png
图片点击可在新窗口打开查看
如图提示,我服务端不叫OPENQQ但是关闭服务器端都 客户端弹出还是QQSERVER  OPENQQ  请问可以自定义吗?
--  作者:大红袍
--  发布时间:2015/11/16 20:03:00
--  

mark 外挂基础

 

全局代码

 

<DllImport("user32.dll", EntryPoint := "FindWindow", SetLastError := True)> _
Public Function FindWindow(lpClassName As String, lpWindowName As String) As IntPtr
End Function

<DllImport("user32.dll", EntryPoint := "FindWindowEx", SetLastError := True)> _
Public Function FindWindowEx(hwndParent As IntPtr, hwndChildAfter As UInteger, lpszClass As String, lpszWindow As String) As IntPtr
End Function

<DllImport("user32.dll", EntryPoint := "SendMessage", SetLastError := True, CharSet := CharSet.Auto)> _
Public Function SendMessage(hwnd As IntPtr, wMsg As UInteger, wParam As IntPtr, lParam As String) As Integer
End Function

 

调用代码

 

Dim hwnd As IntPtr = FindWindow("WindowsForms10.Window.8.app.0.378734a", "提示")
If hwnd <> IntPtr.Zero Then
    msgbox("即将修改窗口标题")
    SendMessage(hwnd, &H000C, 0, "修改窗口的标题")
    Dim hwndSure As IntPtr = FindWindowEx(hwnd, 0, "WindowsForms10.STATIC.app.0.378734a", "OpenQQ失去连接!")
    If hwndSure <> IntPtr.Zero Then
        msgbox("找到label:" & cstr(hwndSure))
        \'SendMessage(hwndSure, &H000C, 0, "我就修改你怎么啦!")
    End If
End If


--  作者:大红袍
--  发布时间:2015/11/16 20:25:00
--  
测试了一下,好像不会马上刷新Label的值......应该是没办法处理的。
--  作者:vvfree
--  发布时间:2015/11/17 0:31:00
--  回复:(大红袍)mark 外挂基础 全局代码&...

调用代码我要放在什么位置呢


--  作者:vvfree
--  发布时间:2015/11/17 0:42:00
--  
有延迟修改的问题,不能马上替换,能不能限制窗口弹出后用自定义窗口代替?
--  作者:大红袍
--  发布时间:2015/11/17 9:23:00
--  
以下是引用vvfree在2015/11/17 0:42:00的发言:
有延迟修改的问题,不能马上替换,能不能限制窗口弹出后用自定义窗口代替?

 

做一个计划任务,如果检测有此窗口弹出,就自己在右下角弹出一个窗口

 

Dim hwnd As IntPtr = FindWindow("WindowsForms10.Window.8.app.0.378734a", "提示")
If hwnd <> IntPtr.Zero Then

    forms("窗口1").Open

Else

    forms("窗口1").Close

End If


--  作者:supwork
--  发布时间:2015/11/17 10:48:00
--  
这个官方能不能修正一下,如果用户有自定义窗口就显示用户的窗口否则显示系统的窗口
或者提供几个变量,由用户设置一下变量的名称也行呀

用计划任务增加系统负担

--  作者:vvfree
--  发布时间:2015/11/17 16:25:00
--  回复:(大红袍)以下是引用vvfree在2015/11/17 0:42:...
这个窗口能不能隐藏或关闭 就是不弹出 只是检查到有这个动作之后,就直接弹出自定义的窗口就好。不然的话一下子弹了两个窗口
--  作者:大红袍
--  发布时间:2015/11/17 17:08:00
--  

呃,目前不行,要不你代码这样写。

 

Dim hwnd As IntPtr = FindWindow("WindowsForms10.Window.8.app.0.378734a", "提示")
If hwnd <> IntPtr.Zero Then

    SendMessage(hwnd, &H18, 0, "")

    forms("窗口1").Open

Else

    forms("窗口1").Close

End If

 

http://www.cnblogs.com/lellansin/archive/2012/05/14/2498739.html

 


--  作者:vvfree
--  发布时间:2015/11/17 18:16:00
--  回复:(大红袍)呃,目前不行,要不你代码这样写。...

这样的话效果是达到了,但是如果提示框没有办法关闭的话 弹窗会一直提示。无法关闭