问题:
 
...
...
...... //过程procedure O_K;
begin
  ... //定时器循环执行上面的过程
end;//入口
begin
  O_K; //执行定时器
end.我想把自身复制特定目录下为1.exe,然后再运行特定目录下的1.exe,进程中没有以前的.exe,只有1.exe问题就是这,执行.exe时(必须的),就执行了这个过程O_K(也就是定时器),导致.exe是停留在内存中。没法进行后面的操作...........  晕死,头都想爆了,语言组织不好,不要见怪,高手们帮帮我吧..很急

解决方案 »

  1.   

    你可以用命令行参数,在shellexcecute时,传递参数给程序,然后启动时去读参数,从而控制定时器是否执行
      

  2.   

    我没具体看懂你的意思,我说下我理解的吧。你想执行程序后,将程序本身复制到某目录,定义为1.exe,然后执行1.exe,并终止原程序的运行,让1.exe程序接管,使内存中只有1.exe程序?如果是这样,我说下简单思路。1、检测本身是否在你所谓的特定目录中,否则复制本身到特定目录,然后执行1.exe;2、通过互斥变量检测(CreateMutex、OpenMutex、CloseHandle)系统中是否有本程序运行(通常是1.exe检测是否有原程序运行)。有本程序运行,则需要进行对象等待,待第一个程序退出后,第二个继续运行;(WaitForSingleObject)3、你需要做的其他任务。做特殊程序的时候这么做过,基本就是个跳板。
      

  3.   

    还有一个办法,运行1.exe后,给源程序发个消息,源程序收到消息后退出,很多软件升级都是用这个方法的!