在delphi中如何实现当某个程序开始运行的时候就自动调用自己写的程序?
  能发段代码学习一下,十分感谢!

解决方案 »

  1.   

    先写个小程序,简单点就用timer控件,每隔几秒钟就检测一下目标程序是否运行,采用findwindow等语句。检测到目标程序后,就启动自己想要调用的那个程序
      

  2.   

    楼主的要求是:当某个程序开始运行的时候就自动调用自己写的程序。换句话来说:自己的程序本来没有运行,而是运行别的程序时自己的程序被自动执行了。因此楼上两位所答非所问。楼主你搜下注册表方面的,做一个打开方式劫持就可以了。如果允许感染其它文件的话,就不用改注册表了,网上有些病毒专感染EXE文件,你的所有EXE都成了病毒的载体。
      

  3.   

    学习,貌似应该用timer控件。
      

  4.   

    知道可能用到一些PE或者自动化,COM一些的东西,但现在还不是对这些东西不是很熟吗,
    所以才来这里来讨教,如果知道的话就请发段代码学习一下吧再重复一下要求:当A程序开始执行的时候,自动调用B程序,B程序执行完就退出,当下次A程序再次执行的时候,又自动调用B程序,B程序执行完再次退出。(也就是当每次A程序开始执行的时候就自动调用一下B程序,B程序执行完就退出)
      

  5.   

    关健是如果调用过B之后中,B执行完了,这时A程序可能还在执行,但是这时也不能再调用B,(也就是说每次当A开始程序执行的时候,只能调用一次B程序,然后一直到A程序结束也不能再调用B程序,),
      

  6.   

    引用 1 楼 xinxinshou2009 的回复:
    先写个小程序,简单点就用timer控件,每隔几秒钟就检测一下目标程序是否运行,采用findwindow等语句。检测到目标程序后,就启动自己想要调用的那个程序 
    如果用Timer的话,当检测到目标窗口,并且也调用了自己的程序执行完也退出了,但目标程序可能还在执行,这时候岂不是还得调用自己的程序,楼主的意思当检测到目标程序之后一直到目标程序运行结束,自己的程序只能被调用一次
      

  7.   

    你要知道B的某个程序在运行你要有个程序来监测它才行!用timer是一种方法!不知道还有什么方法,学习下