FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Por que no graba en Win.ini
Intento ejecutar al inicio de windows un programa y deseo implementar todos los métodos de arranque: registro, win.ini (run=), etc..
Al intentar grabar en Win.ini no graba nada. Si cambio el nombre a miwin.ini si que funciona. ¿Está protegido el Win.ini? tengo Windows Xp Sp2... o estoy haciendo algo mal.
Última edición por alquimista fecha: 22-04-2008 a las 01:56:09. |
#2
|
||||
|
||||
Hola,
¿No obtienes ningún error que puedas referir aquí? En todo caso, ¿para qué necesitas indicar un "autoinicio" en todos y cada uno de los lugares posibles? ¿No bastaría con uno, en el Registro de Windows, por ejemplo? |
#3
|
|||
|
|||
No obtengo ningún error ni de excepción ni nada.
Es para realizar un programa anti aplicaciones y juegos para alumnos. El método de registro lo anulan entrando con msconfig y quitando todos los programas de inicio. Como algunos son mayores se les deja como administrador de equipo (para que instalen programas como C o similar) y eso es lo peor. A pesar de ser mayores juegan o hacen otras cosas. El método de win.ini al no ser tan nuevo, es probable que no lo conozcan y así dure mas en marcha y con poco mantenimiento. De todos modos añadiendo el msconfig a la lista de programas no aceptados creo que podre hacerlo funcionar mas tiempo. Lo ideal sería crear un servicio para que siempre estuviera activo el programa aunque lo cierren, pero no se como hacerlo. El programa esta hecho pero le faltan muchos flecos de seguridad todavía. |
#4
|
||||
|
||||
Es posible que Windows esté protegiendo ese acceso dependiendo de los permisos que tengas.
Si haces la prueba de modificarlo "a mano" (desde el notepad, por ejemplo) ¿Tienes algun problema? Otra cosa, es lo que comenta Dec, y en lo que coincido. ¿Para qué necesitas añadir el programa en varios sitio de "autoarranque"? Con eso sólo conseguirás que se ejecute varias veces...
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
|||
|
|||
Lo puedo editar a mano desde notepad.
El programa solo admite una ejecución. No obtengo ningún error ni de excepción ni nada. Es para realizar un programa anti aplicaciones y juegos para alumnos. El método de registro lo anulan entrando con msconfig y quitando todos los programas de inicio. Como algunos son mayores se les deja como administrador de equipo (para que instalen programas como C o similar) y eso es lo peor. A pesar de ser mayores juegan o hacen otras cosas. El método de win.ini al no ser tan nuevo, es probable que no lo conozcan y así dure mas en marcha y con poco mantenimiento. De todos modos añadiendo el msconfig a la lista de programas no aceptados creo que podre hacerlo funcionar mas tiempo. Lo ideal sería crear un servicio para que siempre estuviera activo el programa aunque lo cierren, pero no se como hacerlo. El programa esta hecho pero le faltan muchos flecos de seguridad todavía. Última edición por alquimista fecha: 22-04-2008 a las 11:05:44. |
#6
|
|||
|
|||
Acabo de ver con un programa anti espía que cada vez que ejecuto el programa, los cambios los quiere hacer en el registro de Windows en vez de en el archivo win.ini.
¿¿¿Es posible que la versión de delphi (2006) o el windows, pase del win.ini usando la unidad inifiles??? el caso es que con otro ini va bien. |
#7
|
||||
|
||||
Hasta donde yo sé, el win.ini queda sólo por compatibilidad con programas antiguos que requieran leer datos de ahí. Por lo mismo, no es de extrañar, que al escribir en él, el S.O mapee la escritura al registro. De hecho, según observé ayer, lo mapea a la clave
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows: run // Saludos |
#8
|
||||
|
||||
Los accesos de escritura en Win.INI son monitoreados/bloqueados por la mayoría de los antivirus/antispyware actuales que estén en tiempo real (en ejecución todo el tiempo) en el PC. porque esas entradas ya no son usadas por programas modernos, por lo que, por seguridad, al detectar una escritura externa en dicho archivo, es bloqueado o simplemente se restaura inmediatamente el original o una copia del mismo, por lo que en este caso, no se generaría una excepción de escritura por la aplicación y en depuración, Delphi no mostraría tal excepción porque no existiría.
Muchos programas maliciosos tales como virus y malware en general, se valen por estas entradas de Win.INI, por lo que si tu quieres que una aplicación se inicie cada vez cuando un usuario se loguée en el sistema o comience una nueva sesión, lo correcto es agregar un valor/clave en el registro de Windows: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run y no en otras áreas de inicio, porque podría ser tomado como algo no deseado, excepto que sea en verdad un servicio, módulo, etc. Para servicios, módulos, etc de incio, se hace de otra forma, ya que debes registralos en el sistema como tales. Saludos y espero que te haya ayudado. Última edición por Black_Ocean fecha: 22-04-2008 a las 17:35:50. |
#9
|
||||
|
||||
Cita:
En fin; el código que pondre no lo pensé para un INI, pero dado el contenido "por defecto" del archivo en cuestión funciona puesto que no existe la seccion "windows";
La idea aplicable a cualquier otro codigo es; [open > read > close > erase > create > write > close]. EDITO; Ahora que leo detenidamente el mensaje doblemente repetido, entiendo mejor que lo que se esta intentando hacer es de una forma heterodoxa. La seccion que se requiere de dicho archivo de configuracion en NT es otra a la mostrada "arriba".
Saludos Última edición por cHackAll fecha: 22-04-2008 a las 19:51:55. |
#10
|
|||
|
|||
Las repeticiones no han sido de forma deliberada
La verdad es que parece que Windows Xp protege a ciertos archivos del S.O. Intenté eliminar msconfig del pc y lo volvía a restaurar. Cita:
Gracias por las respuestas, ya me queda todo más claro. Ahora solo me queda lo de crear un servicio que intente dejar en ejecución el programa matacosas. Any sugerencia??? Saludos maestros de delphi.... cHackAll funciona ok tu primer procedure. Asombroso!!!! Parece que este sea el foro de C++. (_lwrite, _lopen etc..) Última edición por alquimista fecha: 23-04-2008 a las 10:39:47. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Algo curioso al salir de un edit... me lo graba | JoanKa | Varios | 6 | 20-01-2007 00:26:42 |
query no Graba , se cierra | juanmaster | Tablas planas | 9 | 12-12-2006 23:52:21 |
Grabar En SQL Campos Decimales, Solo me graba enteros? | freddiaz07 | SQL | 2 | 07-09-2006 16:24:04 |
lookup + dbgrid: no graba | jonmendi | Conexión con bases de datos | 4 | 12-01-2006 08:21:53 |
Cuando trabajan dos usuarios simultaneos solo graba la factura de uno | tulio | Firebird e Interbase | 11 | 28-10-2003 12:10:34 |
|