FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Detectar proceso en ejecucion C++
Saludos a todos
Quisiera saber como pudiera determinar si un proceso esta en ejecucion o no desde c++. Tengo un programa que al darle en un boton inicializa un servidor mysql , este es el proceso del servidor en ejecucion(mysqld_usbwv8.exe). Lo que quiero lograr es que si ya ese proceso esta en ejecucion o no me lo confirme. |
#3
|
|||
|
|||
Gracias escafandra
Probe este codigo y funciona perfectamente en c++ Builder 6, cuando lo pruebo en c++ builder xe me sale el siguiente error: Código:
E2034 Cannot convert 'wchar_t *' to 'const char *' Por que sucedera eso?,se podra corregir para que funione en esta version? Saludos. Código:
bool IsRuning(char* FileName) { PROCESSENTRY32 Proceso; HANDLE ProcessHandle; bool Result = false; Proceso.dwSize = sizeof(PROCESSENTRY32); ProcessHandle = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if(Process32First(ProcessHandle, &Proceso)){ do{ if(!stricmp(Proceso.szExeFile, FileName)){ Result = true; break; } }while(Process32Next(ProcessHandle, &Proceso)); } CloseHandle(ProcessHandle); return Result; } |
#4
|
||||
|
||||
Pues usemos la versión Unicode para el builder xe (y para bcb6) :
Código:
bool IsRuningW(WCHAR* FileName) { PROCESSENTRY32W Proceso; HANDLE ProcessHandle; bool Result = false; Proceso.dwSize = sizeof(PROCESSENTRY32W); ProcessHandle = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if(Process32FirstW(ProcessHandle, &Proceso)){ do{ if(!_wcsicmp(Proceso.szExeFile, FileName)){ Result = true; break; } }while(Process32NextW(ProcessHandle, &Proceso)); } CloseHandle(ProcessHandle); return Result; } Saludos. Última edición por escafandra fecha: 28-08-2012 a las 00:48:05. |
#5
|
||||
|
||||
Una cosa mas, si quieres que el código encuentre procesos de 16 bits debes seguir leyendo el enlace que te pasé.
Saludos. |
#6
|
|||
|
|||
Muchas gracias escafandra , funciona perfectamente,pase tremendo trabajo para poder realizar la llamada de
Código:
bool IsRuningW(WCHAR* FileName) Código:
wchar_t *Server = L"mysqld_usbwv8.exe"; bool Conectado = IsRuningW(Server) ; |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Controlar la ejecución de un proceso | satelier.martin | Varios | 3 | 14-04-2011 01:35:33 |
Detectar proceso | Saindoft | API de Windows | 6 | 07-01-2009 00:13:37 |
Como Terminar La Ejecucion De Un Proceso | kurono | Varios | 2 | 01-02-2008 17:10:44 |
Parar ejecucion de un proceso | trohan | Varios | 3 | 01-02-2008 17:05:18 |
Cerrar al detectar proceso | malditango | API de Windows | 5 | 18-01-2008 01:51:06 |
|