判断进程是否已启动的问题
请问如何判断一个进程是否已经启动
------解决方案--------------------枚举进程
------解决方案--------------------我一般实现的多线程是用backworker组件来实现的    他有个属性叫做isbusy属性是判断它是否正在执行的    给你个参考 
------解决方案--------------------1.   用API函数,调用C++   dll.    
   C++代码:    
   BOOL   GetProcessList   ()      
   {      
           HANDLE                   hProcessSnap   =   NULL;      
           BOOL                       bRet             =   FALSE;      
           PROCESSENTRY32   pe32             =   {0};              
           //     Take   a   snapshot   of   all   processes   in   the   system.            
           hProcessSnap   =   CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,   0);            
           if   (hProcessSnap   ==   INVALID_HANDLE_VALUE)      
                   return   (FALSE);              
           //     Fill   in   the   size   of   the   structure   before   using   it.            
           pe32.dwSize   =   sizeof(PROCESSENTRY32);              
           //     Walk   the   snapshot   of   the   processes,   and   for   each   process,      
           //     display   information.            
           if   (Process32First(hProcessSnap,   &pe32))      
           {      
                   DWORD                   dwPriorityClass;      
                   BOOL                     bGotModule   =   FALSE;      
                   MODULEENTRY32   me32               =   {0};              
                   do      
                   {      
                           bGotModule   =   GetProcessModule(pe32.th32ProcessID,      
                                   pe32.th32ModuleID,   &me32,   sizeof(MODULEENTRY32));            
                           if   (bGotModule)      
                           {      
                                   HANDLE   hProcess;              
                                   //   Get   the   actual   priority   class.      
                                   hProcess   =   OpenProcess   (PROCESS_ALL_ACCESS,      
                                           FALSE,   pe32.th32ProcessID);      
                                   dwPriorityClass   =   GetPriorityClass   (hProcess);      
                                   CloseHandle   (hProcess);            
                                   //   Print   the   process 's   information.      
                                   printf(    "\nPriority   Class   Base\t%d\n ",      
                                           pe32.pcPriClassBase);      
                                   printf(    "PID\t\t\t%d\n ",   pe32.th32ProcessID);    
                                   printf(    "Thread   Count\t\t%d\n ",   pe32.cntThreads);    
                                   printf(    "Module   Name\t\t%s\n ",   me32.szModule);    
                                   printf(    "Full   Path\t\t%s\n\n ",   me32.szExePath);    
                           }      
                   }      
                   while   (Process32Next(hProcessSnap,   &pe32));      
                   bRet   =   TRUE;      
           }      
           else      
                   bRet   =   FALSE;         //   could   not   walk   the   list   of   processes              
           //   Do   not   forget   to   clean   up   the   snapshot   object.            
           CloseHandle   (hProcessSnap);      
           return   (bRet);      
   }            
   2.   笨办法,启动一个进程就写标志到一个本地资源(如文件),下一个进程启动先去读这个资源来判断,标志为false(已经有相同进程在运行),启动,为true,放弃.