怎么让一个程序在别的程序启动时,自动运行?比如当“记事本”一打开,我的程序就打开。先谢过各位了!来者有分。

解决方案 »

  1.   

    具体用hook该怎么用呢?是有相关的API还是?不好意思,我是菜鸟
      

  2.   

    CreateProcess就可以了,如果是写守护进程那还要加检测处理。
      

  3.   

    另外做一个监控程序,监控到notepad启动时,就启动你自己的程序。
      

  4.   

    还有个方案:
    在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options下新建一个项叫notepad.exe。然后在该项下建立值Debugger(字符串值),将Debugger的数据改为你的程序路径。同时你的程序处理传入你程序的参数,其中将包含Notepad.exe文件的路径,这样你就在你程序里CreateProcess这个文件。这样就可以达到你的需求了。
    上面说的那个Hook方案,网上应该有很多例子,大部分是在Ring3层Hook Explorer的CreateProcess系列函数。
      

  5.   

    程序总要处理传给它的参数吧。比如 你要是在cmd 输入shutdown /s /t,这个/s和/t就是参数部分。主程序是可以拿到系统给它的这些参数的。