Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   no funciona ShellExecute en un servicio delphi (https://www.clubdelphi.com/foros/showthread.php?t=89542)

ingabraham 10-12-2015 01:15:53

no funciona ShellExecute en un servicio delphi
 
buenas,

tengo un proyecto de un servicio el cual hago seguimiento por un log,

pero el ShellExecute no me funciona, he buscado otras funciones. en aplicaciones estandar de delphi si me funcionan, pero al pasarla al servicio no.

alguien me puede ayudar con una solucion , para que mi servicio abra otros programas.

Código Delphi [-]
 ShellExecute(0, 'open', PChar(  'D:\NEW\miprograma.exe' ) , nil, nil, SW_SHOW);

gracias,

escafandra 10-12-2015 17:23:08

El problema no es que no funcione, sino que no verás el interface gráfico en el escritorio activo. Así funcionan los servicios desde Vista. Aquí tienes la solución: Lanzar una aplicación GUI desde un servicio

Saludos.

ingabraham 10-12-2015 17:24:16

exacto, ya lo descubrí. en servicios del sistema esta pero no me lo muestra visualmente.

ingabraham 10-12-2015 17:53:49

no me funciona en el servicio estas funciones.

compañero de casualidad no tienes algún proyecto de prueba, te lo agradecería mucho

Código Delphi [-]
function WTSEnumerateSessionsA(hServer: THandle; Reserved, Version: DWORD; ppSI: PPWTS_SESSION_INFO; pCount: PDWORD): boolean; stdcall external 'Wtsapi32.dll';
function WTSQueryUserToken(SessionId: DWORD; phToken: PHANDLE): boolean; stdcall external 'Wtsapi32.dll';
function WTSFreeMemory(pSi: Pointer): boolean; stdcall external 'Wtsapi32.dll';

escafandra 10-12-2015 19:10:50

En el enlace que te pasé tienes una App de ejemplo llamada RunAsCurrentUser. Dicha App lanza el notepad.exe. Para ver fu funcionamiento debes ejecutarla en el usuario SYSTEM, como lo hace un servicio. Para ello, facilito una app ya compilada llamada Minisystem. Esta App consigue su tarea lanzando un servicio y éste, ejecuta la app que queremos que sea system.

Una aclaración: El código se compiló con delphi7 y no usaba UNICODE. Para usar unicode se deben importar las versiones "W" de las APIS.

Saludos.

escafandra 10-12-2015 19:16:24

En los mensajes que te enlazo hay algún link roto que he arreglado. No puedo subir un proyecto porque no estoy en casa. Desde el SmartPhone me es imposible, pero creo que con las aclaraciones de mi mensaje anterior, puedes solucionarlo.

Saludos.


La franja horaria es GMT +2. Ahora son las 03:19:51.

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