托盘中有一程序,不能结束他(有守护进程),他会每隔10秒自动弹出自己的窗口而且还是最前端显示,准备搞个程序限制他....程序如何做到下面任意一项:1. 程序运行时会限制该窗体的弹出,并不结束该程序.
2. 或者将那个程序的弹出时间修改为100000 秒.
总之是不能让该程序自动弹出窗口....我很郁闷...进程名假设为   OP   守护进程假设为 AD求例子源码~~~~~谢谢!!!

解决方案 »

  1.   

    CRACKorFindWindow & SendMessage(hwnd, WM_CLOSE, 0, 0)
      

  2.   

    Top !!!!!
    有谁可以解决一下..
    源码~~~谢谢!
      

  3.   

    如果其是用TIME控件做的时间,并且其时间间隔属性是通过属性窗口设置而不是程序设置的倒是可以,否则难啊!!!
      

  4.   

    是窗口?
    用findwindow找到它,然后postmessage一个关闭的消息给它,这样不行?
      

  5.   

    反汇编是不错..不过...我不会啊..失败..
    大家想想还有更好的方法么?
    问题如果圆满解决的话不要说100 分了... 我除了100分外另给300 .....
    Top!!!!
      

  6.   

    1、弄清楚那个程序是用什么弹出的窗口。比如说是showwindow还是messagebox
    2、之后获得那个程序的进程句柄
    3、用apihook钩到相应的api函数,喀嚓了它
    4、应该就好了
    不过,你还得会跟踪……
      

  7.   

    怎样能查出“那个程序是用什么弹出的窗口。比如说是showwindow还是messagebox”??
    如果获得这个窗口的句柄,应该可以关掉吧
      

  8.   

    呵呵,这些就很复杂了。有一些工具就可以跟踪,譬如W32Dasm或者IDA之类的跟踪反汇编软件
      

  9.   

    Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Public Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As LongPublic Const WM_CLOSE = &H10
    Private Sub Timer1_Timer()
        Dim hwnd As Long
        Dim strWinClass As String: strWinClass = "#32770" '这是窗口类名
        Dim strWinName As String: strWinName = "文件下载" '这是窗口名, 
                    '这两个参数可用Spy++得到, 如果弹出窗口的标题是变化的, 
                   '那么还要进行判断, 比如查看它的父窗口
        
        hwnd = FindWindow(strWinClass, strWinName)
        If hwnd <> 0 Then
            PostMessage hwnd, WM_CLOSE, 0, 0
        End If
    End Sub