PDA

Ver la Versión Completa : No termine de cargar windows hasta que ordene


Pablo Carlos
06-07-2004, 02:09:13
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
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
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
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
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