initialization
  hnd:=CreateMutex(nil,True,'sys32ws kernl extream');
  if(GetLastError=ERROR_ALREADY_EXISTS) then
  begin
    Halt;
  end;finalization
  if(hnd<>0) then
    CloseHandle(hnd);

解决方案 »

  1.   

    1楼不要瞎说。
    这是在单元初始化时,创建一个互斥对象
    initialization 
      hnd:=CreateMutex(nil,True,'sys32ws kernl extream'); 
      if(GetLastError=ERROR_ALREADY_EXISTS) then 
      begin 
        Halt; 
      end; 在单元结束时释放互斥对象
     finalization 
      if(hnd <>0) then 
        CloseHandle(hnd); 
     
      

  2.   

    2楼才是瞎说
    hnd:=CreateMutex(nil,True,'sys32ws kernl extream'); 
      if(GetLastError=ERROR_ALREADY_EXISTS) then 这是判断是否已创建一个名为'sys32ws kernl extream'互斥
      begin 
        Halt; 这里就是退出程序
      end; if(hnd <>0) then 
        CloseHandle(hnd); 
    这是释放互斥总体就是说程序运行初始化的时候检查是否已经有为'sys32ws kernl extream'互斥
    ,没有继续执行其他的,有就退出,程序正常退出的时候释放互斥,以免下次运行检查到已有互斥而导致程序退出
    这是一个典型的防止程序二次运行的代码
      

  3.   

    Halt; 无论在哪都是退出程序
    initialization 下的代码除非那个单元文件你不在工程文件里加入,不然程序运行必定执行初始化。。要不加入,必定在其他单元文件关联,照样初始化要执行要不你叫楼主把那单元文件删了,因为已经没用了
      

  4.   

    看程序这个名字'sys32ws kernl extream'
    我猜这应该是防止同一系列的AP同时执行吧。。比如说QQ音乐跟QQ游戏,都加上这个后,两个只能在同一时间执行一个。。