我启动一个程序A 之前需要判断程序B是否运行,如果没有运行,则先运行B,通过B来运行AA程序的program中是这样写的,
Application.Initialize;
 if FindWindow(nil,Pchar('Fm_angle'))=0 then
  begin
    APPlication.Terminate;
    winexec(pANsichar(fm_main.pathStr+'UpdateRoom.exe'),SW_Show);
  end
  else begin
  Application.CreateForm(Tfm_Main, fm_Main);
  Application.CreateForm(TDM, DM);
   Application.CreateForm(Tfm_login, fm_login);
   Application.CreateForm(Tfm_msg, fm_msg);
   Application.CreateForm(Tfm_PKMsg, fm_PKMsg);
   fm_login.Showmodal;
  end;
  Application.Run;
B程序明明没有启动,这里却总是认为找到了不启动! 这是怎么回事?
我确定B程序的主窗口的caption为'Fm_angle',name也是'Fm_angle'
另外绝对没有和这个窗口相同名称的程序或窗口在运行! 求教!

解决方案 »

  1.   

    FindWindow(nil,Pchar('Fm_angle'))<>0
      

  2.   

    if FindWindow(nil,Pchar('Fm_angle'))=0 then
    这儿我是判断没没找到的条件!
      

  3.   

    是不是在设计期间啊,如果你正在设计你的b程序,'Fm_angle'也是可以找到的
      

  4.   

    不是,一直都是在运行,我的delphi没启动
      

  5.   

    Fm_angle应该是标题而不是窗口名.
      

  6.   

    呵呵,我的caption和name都是这个
      

  7.   

    反了
      APPlication.Terminate;
      winexec(pANsichar(fm_main.pathStr+'UpdateRoom.exe'),SW_Show);Terminate后面的代码不会执行
      

  8.   

    APPlication.Terminate;
        winexec(pANsichar(fm_main.pathStr+'UpdateRoom.exe'),SW_Show);是不是倒了阿