Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   No termine de cargar windows hasta que ordene (https://www.clubdelphi.com/foros/showthread.php?t=12107)

Pablo Carlos 06-07-2004 02:09:13

No termine de cargar windows hasta que ordene
 
Hola gente...
Necesito saber como poner mi aplicación en primer lugar en la carga de windows... Deseo que mi aplicación autorice la continuidad de los pasos que windows necesita para empezar a trabajar.... (medio complicado mi explicación?)
Concretamente estoy desarrollando una aplicación donde queda registrado el usuario, puesto de trabajo, día y hora... y que recien alli pueda trabajar ese usuario en los demás programas... (deseo que con un boton de aceptar, por ejemplo, siga cargando windows) seré claro? :(
Graciassssss Pablo

roman 06-07-2004 05:37:03

Te pongo una idea que yo he utilizado:

Primero que nada reemplazas el shell de Windows por tu propia aplicación. Para ello debes cambiar la entrada Shell del registro en

HKLM\Software\Microsoft\Windows NT\CurrentVersion\WinLogon

y poner tu aplicación:

Shell = 'tuaplicacion.exe'

Con esto tu aplicación se ejecutará en lugar del shell normal- el explorador.

Tu aplicación, lo primero que hará será presentar una ventana de 'login' donde verificas los datos del usuario y registras la hora de entrada, día, etc.

Después de esto, si el usuario se autentifica correctamente, inicias el shell normal con WinExec('explorer.exe', SW_SHOW).

Si el usuario ne se autentifica simplemente no dejas que se cierre la ventana y en todo caso pones un botón para cerrar el sistema con ExitWindowsEx.

// Saludos

seduerey 06-07-2004 10:06:12

puede dar un problema
 
Esta solucion tiene un pequeño problema, aunque muxas gracias, no sabia yo como hacerlo.

Programas como el Ad-aware detectan y sustituyen por el explorer.exe cualquier otro shell. Lo he notado al usar el aston. Cada vez que paso el Ad-aware, si no mantengo segun q registros, este se sustituye por el explorer

roman 06-07-2004 14:24:47

Cita:

Empezado por seduerey
Esta solucion tiene un pequeño problema,

...

Programas como el Ad-aware detectan y sustituyen por el explorer.exe cualquier otro shell.

Bueno, ¿no crees que éste es mas bien un problema de ese software?

Sustituir el shell de Windows es una técnica perfectamente válida y utilizada desde el viejo windows de 16 bits.

;)

Pablo Carlos 07-07-2004 01:50:10

Pues que no encuentro el explorer.exe ni el shell que lo contenga.... intertanto sigo buscando :)

roman 07-07-2004 01:58:36

Pues ¿qué windows usas?

Abre el registro de windows (RegEdit) y busca (menú Edit|Buscar) "shell". Por otra parte si la notación HKLM te confunde he de decirte que es una abreviación de HKEY_LOCAL_MACHINE.

// Saludos

roman 07-07-2004 02:07:00

Otra cosa, antes de que empieces a jugar con el registro de Windows :) :

Lo que yo realmente hago es sustituir el shell sólo para un usuario específico. Es decir, creo un usuario, digamos Empleado, inicio sesión como ese usuario y voy a la misma entrada pero en lugar de HKLM en HKCU: HKEY_CURRENT_USER.

Esto lo hago por dos razones:

En primer lugar, el usuario de Windows que normalmente trabajará con la PC no debe tener derechos de Administrador. En segundo lugar, por cualquier cosa que falle siempre puedo entrar a la PC como administrador con el shell normal.

En esta situación, la entrada shell normalmente no existirá en la ruta indicada. Simplemente la agregas y le pones el valor que desees.

// Saludos

Pablo Carlos 07-07-2004 02:19:45

ok... en cuanto a las siglas las entiendo... el tema de usar HKCUser esta bueno... los windows que estoy examinando son 95 y milenium... pero insisto no encuentro el shell de inicio :( (me estaré segando?) o nuestro amigo bill me las escondio??? :))))))

Sigo en lo mismo.... investigando

seduerey 07-07-2004 10:03:47

Por supuesto, el problema es del programa, pero como está bastante extendido y es gratis pues por si le ocurre esto

roman 11-07-2004 21:30:47

Cita:

Empezado por Pablo Carlos
los windows que estoy examinando son 95 y milenium... pero insisto no encuentro el shell de inicio

Hace mucho tiempo que no utilizo Win 9x ni Me; por esto no recuerdo como se hace el cambio ahí. Prueba hacer el cambio en el archivo system.ini (en la línea shell = 'explorer.exe') a la vieja usanza del Windows de 16 bits. No creo que sea la forma ortodoxa pero es posible que funcione.

Por otra parte, buscando en la web supongo que encontrarás referencias que sean específicas de dichas versiones de Windows.

// Saludos

Pablo Carlos 11-07-2004 21:53:34

Probare en el system.ini (alli si encontre el shell=explorer)
Gracias Roman

Pablo Carlos 11-07-2004 22:38:20

No no no funciono.. es más, desde el dos arregle el system.ini con el edit por que no arranco más.... esto me está complicando más de lo que creia... :confused:

y parecia tan simple.... :(

Gracias

roman 12-07-2004 05:15:43

¿Cómo especificaste la ruta a tu programa? Seguramente has de especificar la ruta completa o no sabrá dónde encontrarlo.

// Saludos

jachguate 12-07-2004 05:27:47

Cita:

Empezado por roman
Seguramente has de especificar la ruta completa o no sabrá dónde encontrarlo.

Salvo que esté en la carpeta del sistema (¿c:\windows?) o (quizas) en una incluida en el path.

Hasta luego.

;)

Pablo Carlos 12-07-2004 16:30:28

ok.... la ruta está bien especificada...

Pablo Carlos 13-07-2004 16:39:13

Holasss

No crean que baje los brazos.... sigo en la misma... les comento que reemplazando el system.ini -> shell = explorer.exe por mi aplicación da el resultado que esperaba... solo que no puedo hacer que continue Windows con su carga :confused: habilito con el winexe ('Explorer.exe'), no continua con la carga, solo abre el explorer :( ... en fin cualquier novedad feliz, la comentaré
Saludos
Pablo


La franja horaria es GMT +2. Ahora son las 16:30:46.

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