PDA

Ver la Versión Completa : Saber si Firebird esta corriendo


felipe88
12-07-2008, 17:48:29
Hola,

He estado buscando un poco por los foros y por Mr. Google a ver si encontraba algo al respecto, pero me fue todo lo contrario :(...

Estoy buscando la forma de determinar si los procesos de firebird o cualquier otro proceso esta corriendo en el sistema... alguna sugerencia??:confused:.

De ante mano, muchas gracias :)

dec
12-07-2008, 18:03:59
Hola,

En este hilo (http://www.clubdelphi.com/foros/showthread.php?t=53033) se encuentra una función para "listar los procesos" que estén ejecutándose en el sistema. Además un compañero explica partes de la función que pudieran parecer confusas en un momento dado. La idea es obtener los procesos que se están ejecutando (sus nombres, por ejemplo) y echar un vistazo a si está entre ellos el que nos interesa.

felipe88
14-07-2008, 15:05:56
Hola Dec gracias por el vinculo, esta funcion me sirvio mucho, le añadi unos retoques para lo que necesitaba y finalmente me quedo asi

//Añadir al uses TLHelp32

function TForm1.fbrunning: Boolean;
var
Proceso : TProcessEntry32;
ProcessHandle : THandle;
Sproceso : Boolean;
Nproceso : String;
begin
Result := False;
Proceso.dwSize := SizeOf(TProcessEntry32);
ProcessHandle := CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if Process32First(ProcessHandle, Proceso) then
begin
Nproceso:= String(Proceso.szExeFile);
repeat Sproceso := Process32Next(ProcessHandle, Proceso);
Nproceso:= String(Proceso.szExeFile);
if Nproceso = 'fbserver.exe' then
Result := True;
until not Sproceso;
end;
CloseHandle(ProcessHandle);
end;


Ya mismo la añado en la seccion de trucos, es de gran utilidad :)