Win9x servicios


en Este artículo se muestra cómo escribir un servicio para Win9X
Servicios
Una de las ventajas más características en WinNT y Win2000 es la capacidad de ejecutar aplicaciones en segundo plano, a atender las solicitudes de detrás de las escenas.
es una lástima que Windows95/98 no tiene esta misma característica, obviamente es porque no estaba destinado a ser un servidor de red de cualquier tipo. Sin embargo, a veces es necesario tener una tarea que se ejecuta como un servicio en Windows 95/98, por lo que la buena gente de Microsoft decidió poner en práctica lo que yo considero un 'hack'.
Escriba su aplicación, en el proyecto de la fuente de ello.

begin
& nbsp & nbsp Aplicación.Inicializar
& nbsp & nbsp Aplicación.ShowMainForm := False //< & Agregar este !!

Esto impedirá que el formulario principal aparece cuando la aplicación se ejecuta.
Ahora en el registro

/Software/MicroSoft/Windows/CurrentVersion/Run
Hacer una cadena de entrada que apunte a la aplicación.
por último, en el OnCreate del formulario de la llamada
InternalRegisterServiceProcess(True)
El código de InternalRegisterServiceProcess es como sigue.
tipo
& nbsp & nbsp TServiceFunc = function (aProcessID: DWord

& nbsp & nbsp & nbsp & nbsp aType: DWord): WordBool stdcall
función InternalRegisterServiceProcess(
& nbsp & nbsp const StartService : Boolean) : Boolean
var
& nbsp & nbsp HKernel32: THandle
& nbsp & nbsp P: TServiceFunc
& nbsp & nbsp dwProcess: DWord
& nbsp & nbsp dwType: DWord
begin
& nbsp & nbsp Resultado := False
& nbsp & nbsp HKernel32 := LoadLibrary('Kernel32.dll')
& nbsp & nbsp si HKernel32 > 0, entonces
& nbsp & nbsp probar
& nbsp & nbsp & nbsp & nbsp P := GetProcAddress(HKernel32,'RegisterServiceProcess')
& nbsp & nbsp & nbsp & nbsp si se ha Asignado(P) entonces
& nbsp & nbsp & nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp dwProcess := GetCurrentProcessID
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp dwType := 0
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp caso StartService de
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Verdadero : dwType := 1
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Falso : dwType := 0
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp final
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Resultado := P(dwProcess, dwType)
& nbsp & nbsp & nbsp & nbsp final
& nbsp & nbsp finalmente
& nbsp & nbsp & nbsp & nbsp FreeLibrary(HKernel32)
& nbsp & nbsp final
fin









Win9x servicios


Win9x servicios : Multi-millones de consejos para hacer su vida mas facil.


en Este articulo se muestra como escribir un servicio para Win9X
Servicios
Una de las ventajas mas caracteristicas en WinNT y Win2000 es la capacidad de ejecutar aplicaciones en segundo plano, a atender las solicitudes de detras de las escenas.
es una lastima que Windows95/98 no tiene esta misma caracteristica, obviamente es porque no estaba destinado a ser un servidor de red de cualquier tipo. Sin embargo, a veces es necesario tener una tarea que se ejecuta como un servicio en Windows 95/98, por lo que la buena gente de Microsoft decidio poner en practica lo que yo considero un 'hack'.
Escriba su aplicacion, en el proyecto de la fuente de ello.

begin
& nbsp & nbsp Aplicacion.Inicializar
& nbsp & nbsp Aplicacion.ShowMainForm := False //< & Agregar este !!

Esto impedira que el formulario principal aparece cuando la aplicacion se ejecuta.
Ahora en el registro

/Software/MicroSoft/Windows/CurrentVersion/Run
Hacer una cadena de entrada que apunte a la aplicacion.
por ultimo, en el OnCreate del formulario de la llamada
InternalRegisterServiceProcess(True)
El codigo de InternalRegisterServiceProcess es como sigue.
tipo
& nbsp & nbsp TServiceFunc = function (aProcessID: DWord

& nbsp & nbsp & nbsp & nbsp aType: DWord): WordBool stdcall
funcion InternalRegisterServiceProcess(
& nbsp & nbsp const StartService : Boolean) : Boolean
var
& nbsp & nbsp HKernel32: THandle
& nbsp & nbsp P: TServiceFunc
& nbsp & nbsp dwProcess: DWord
& nbsp & nbsp dwType: DWord
begin
& nbsp & nbsp Resultado := False
& nbsp & nbsp HKernel32 := LoadLibrary('Kernel32.dll')
& nbsp & nbsp si HKernel32 > 0, entonces
& nbsp & nbsp probar
& nbsp & nbsp & nbsp & nbsp P := GetProcAddress(HKernel32,'RegisterServiceProcess')
& nbsp & nbsp & nbsp & nbsp si se ha Asignado(P) entonces
& nbsp & nbsp & nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp dwProcess := GetCurrentProcessID
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp dwType := 0
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp caso StartService de
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Verdadero : dwType := 1
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Falso : dwType := 0
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp final
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Resultado := P(dwProcess, dwType)
& nbsp & nbsp & nbsp & nbsp final
& nbsp & nbsp finalmente
& nbsp & nbsp & nbsp & nbsp FreeLibrary(HKernel32)
& nbsp & nbsp final
fin


Win9x servicios

Win9x servicios : Multi-millones de consejos para hacer su vida más fácil.
Recommander aux amis
  • gplus
  • pinterest

Comentario

Dejar un comentario

Clasificación