发现可以用FindWindow 函数实现,启动a可以用shell函数

解决方案 »

  1.   

    B程序如果是你编的就容易解决了!你在程序开始加入执行A程序。
    如果不是你编的最简单的方式用批处理作一个B.bat在里面打上
    B.exe
    A.exe
    如果是系统自动运行的不能做成批处理就让A程序一直在运行监视B如果B运行则进行处理。
    我想就这么多种情况了!如果你监视部分不会做我可以告诉你!
      

  2.   

    还是给你如何监视吧,反正都是现成的代码!
    调用API如下:Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, _
            ByVal lpWindowName As String) As Long
    程序:
        winHwnd = FindWindow(vbNullString, "程序名")    If winHwnd = 0 Then    '说明的程序在运行
              end
        end if
      

  3.   

    A发现B运行,然后 A启动?那就是A还没启动咯,没启动怎么去发现 B 运行了?
      

  4.   

    一个类似的问题,通过这个你应该可以解决
    http://www.csdn.net/Expert/topic/485/485826.shtm
      

  5.   

              哈哈哈哈, Amoon(阿木) 说的有理!!
      

  6.   

    Amoon(阿木)说得有理,VB是由事件触发运行程序的,最基本的触发都没有机会实现,当然不知道怎么做了。
      

  7.   

    感染exe,com文件的病毒原理是在被感染文件的文件头加上自己的程序.所以可以在运行B程序前运行自己.但是这个前提好像你这个例子不合适。
    冰河程序我是不太了解,但是我可以知道好多东东的加载是在windows前的这样才可以跳过windows最基本的限制,比如softIce等等。木马程序也是时时在内存中监控的,到了一定时间再把东西发到网络上去的。所以万变不离其宗,还是寻找你这两个程序的运行规律,看看有没有别的办法可以解决吧,不要钻牛角尖啊!!祝你早日找到方法!