技巧(5)- 如何让这个程序在系统里同时只运行一个(如果这个exe程序已经运行了,就不再运行)

外部引用:  
   
FUNCTION ulong CreateMutex(ref SECURITY_ATTRIBUTES lpMutexAttributes,ulong bInitialOwner,ref string lpName) LIBRARY "kernel32.dll" ALIAS FOR "CreateMutexA"

主程序:

string ls_AppName  
   
IF Handle(GetApplication())>0 THEN  
  ls_AppName=GetApplication().AppName    //取应用名称,每个应用都以一个  
  CreateMutexA(0,TRUE,ls_AppName)            //用当前应用名称创建互斥对象  
  IF GetLastError()=183 THEN                           //根据错误类型判断已经打开  
     MessageBox('提示信息:','程序已经运行!')
     Halt Close
  END IF
END IF  

你可能感兴趣的:(String,function,Security,exe,library,attributes)