Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #6  
Antiguo 24-06-2012
Joviali Joviali is offline
Miembro
 
Registrado: may 2006
Posts: 22
Poder: 0
Joviali Va por buen camino
Cita:
Empezado por Joviali Ver Mensaje
Buenas , Heroe he probado lo que me has comentado pero como es un servicio, me dice que no hay nada para ejecutar.Te paso el codigo fuente:
unit servicio;

Código Delphi [-]
unit servicio;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, SvcMgr, Dialogs,
  ExtCtrls,TLHelp32;

type
  Tsv_actualiza = class(TService)
    temporizador: TTimer;
    procedure temporizadorTimer(Sender: TObject);
    procedure ServiceExecute(Sender: TService);
  private
    { Private declarations }
  public
    function GetServiceController: TServiceController; override;
    function procesoenEjecucion: Boolean;
    { Public declarations }
  end;

var
  sv_actualiza: Tsv_actualiza;

implementation

{$R *.DFM}

procedure ServiceController(CtrlCode: DWord); stdcall;
begin
  sv_actualiza.Controller(CtrlCode);
end;

function Tsv_actualiza.GetServiceController: TServiceController;
begin
  Result := ServiceController;
end;

procedure Tsv_actualiza.temporizadorTimer(Sender: TObject);
begin
    if not procesoenEjecucion then
         WinExec('calc',0);
end;

procedure Tsv_actualiza.ServiceExecute(Sender: TService);
begin
  temporizador.Enabled := True;
 while not Terminated do
    ServiceThread.ProcessRequests(false);
  temporizador.Enabled := False;

end;


function Tsv_actualiza.procesoenEjecucion: 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 = 'calc.exe' then
        Result := True;
    until not Sproceso;
  end;
  CloseHandle(ProcessHandle);
end;

end.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
crear servicio(daemon) en lazarus n03l Lazarus, FreePascal, Kylix, etc. 7 20-06-2012 18:11:41
Crear un servicio Aldo OOP 5 04-03-2008 17:21:40
crear servicio con formulario mierda API de Windows 4 20-12-2006 12:43:57
Crear Servício altp Varios 5 26-09-2006 16:53:05
Crear Servicio WEB y publicarlo en TOMCAT Khelma Internet 0 26-04-2005 13:11:21


La franja horaria es GMT +2. Ahora son las 03:46:50.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi