Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Lanzar ventana de servicios de windows (https://www.clubdelphi.com/foros/showthread.php?t=35456)

hector_etv 11-09-2006 19:50:37

Lanzar ventana de servicios de windows
 
Amigos... la idea sería esta:

ShellExecute(Handle, 'open', 'c:\windows\system32\services.msc /s', nil, nil, SW_SHOWNORMAL);

EL problema es que no funciona...


Alguna sugerencia ????

Salu2,

Héctor.

roman 11-09-2006 19:53:31

No sé para qué es la opción /s pero si se la quitas funciona.

// Saludos

dec 11-09-2006 19:57:16

Hola,

También funciona si no especificas la ruta "completa". Por si puede serte de utilidad...

Código Delphi [-]
uses
  ShellApi;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShellExecute(GetActiveWindow, 'open',
   'services.msc', nil, nil, SW_SHOWNORMAL);
end;

seoane 11-09-2006 20:06:12

Y ya como funciona perfecto es si los parámetros lo pasas así ;) :

Código Delphi [-]
ShellExecute(Handle, 'open', 'c:\windows\system32\services.msc', '/s', nil, SW_SHOWNORMAL);

roman 11-09-2006 20:26:43

Cierto, aunque sigo sin saber para qué es el parámetro. Parece igual, con o sin parámetro.

// Saludos

dec 11-09-2006 20:35:41

Hola,

La "s" en estos casos suele significar "silent" (ejecutar "por detrás", sin "ser visto"), aunque, aquí concretamente no sé si tiene utilidad alguna...

hector_etv 11-09-2006 23:27:16

Gracias a todos por su ayuda!!!

:rolleyes:

seoane 11-09-2006 23:30:13

Cita:

Empezado por hector_etv
Gracias a todos por su ayuda!!!

:rolleyes:

Por que no nos sacas de la duda ¿para que es el parametro /s?

roman 11-09-2006 23:35:13

Cita:

Empezado por seoane
Por que no nos sacas de la duda ¿para que es el parametro /s?

Pues ha de ser eso:

Cita:

Empezado por dec
La "s" en estos casos suele significar "silent"

es decir, Shhhhhh, no le digas a nadie qué significa.

:D

// Saludos

Ade 12-09-2006 14:03:40

asi podria activar el apache que lo tengo manual desde mi aplicacion delphi directamente?

seoane 12-09-2006 14:22:09

Para iniciar un servicio tienes que usar algo como esto:

Código Delphi [-]
uses WinSvc;

function InicarServicio(Nombre: String): boolean;
var
 Scm: SC_HANDLE;
 Srv: SC_HANDLE;
 Arg: PAnsiChar;
begin
  Result:= FALSE;
  Scm:= OpenSCManager(nil,nil,GENERIC_EXECUTE or GENERIC_READ);
  if Scm > 0 then
    begin
      Srv:= OpenService(Scm, PChar(Nombre), GENERIC_EXECUTE or GENERIC_READ);
      if Srv > 0 then
        begin
          Arg:= nil;
          Result:= StartService(srv,0,arg);
          CloseServiceHandle(Srv);
        end;
      CloseServiceHandle(Scm);
    end;
end;

// Por ejemplo, para activar el apache
InicarServicio('Apache2');

roman 12-09-2006 14:33:51

También podrías valerte de la aplicación net.exe:

Código Delphi [-]
WinExec('net.exe start apache', SW_HIDE);

// Saludos

Ade 12-09-2006 14:35:52

muchas gracias, supongo que si se puede iniciar un servicio se podra comprobar si antes no esta activado y demas, para lo cual habra mas funciones como OpenService, me puedes decir donde las encuentro??

roman 12-09-2006 14:39:39

Aquí

// Saludos

Ade 12-09-2006 14:43:47

gracias de nuevo voy a echarle un vistazo

saludos

seoane 12-09-2006 15:10:26

Cita:

Empezado por Ade
muchas gracias, supongo que si se puede iniciar un servicio se podra comprobar si antes no esta activado y demas, para lo cual habra mas funciones como OpenService, me puedes decir donde las encuentro??

Mira este hilo, ahí describo como reiniciar un servicio. Básicamente compruebo si esta iniciado, lo paro y lo vuelvo a iniciar.

http://www.clubdelphi.com/foros/show...65&postcount=3

Ade 12-09-2006 15:18:25

muchas gracias nuevamente, no sabia como usar el ServiceStatus y me estaba volviendo loca con el ingles, mi asignatura pendiente..:confused:

saludos


La franja horaria es GMT +2. Ahora son las 04:17:31.

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