你的方法还要在主Form的Create事件中做工作。可参
http://www.csdn.net/expert/topic/156/156995.shtm

解决方案 »

  1.   

    我想,要防止程序重复执行,可如下:
    项目文件中:(还需要在“Uses”加入“Windows”单元)
    begin
      CreateMutex(nil, False, PChar(Application.Title));
      if (GetLastError <> ERROR_ALREADY_EXISTS) then begin
        Halt(0);
      end;
     
      Application.Initialize;
      ........
      Application.Run;
    end;  
      

  2.   

    Application还没初始化呢,哪来的Title
      

  3.   

    我知道了。这分我自己赚了。
    Mutex := Windows.CreateMutex(nil, False, 'Hello');就可以了。但即使用
    Title:='Hello';
    Mutex := Windows.CreateMutex(nil, False, PChar(Title));也不行。
    此时若将create,run提前就可以了。不知道为什么????有谁知道送分。