![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Editar Regedit de windows con Delphi 7.0
Saludos amigos, mire lo que sucede es que necesito editar el regedit de windows y cambiar valores....por ejemplo, necesito cambiar el siguiente registro:
HEY_CURRENT_USER ---> Desktop ---> MenuShowDelay , cambiar el valor de MenuShowDelay que es por defecto 400 cambiarlo a 0, eso es lo que necesito hacer, y pude conseguir el siguiente codigo:
No entiendo por que declaran ahi la variable bTF ??, si bien la puedo declarar en el uses, colocando var bTF :Bloean, bueno el hecho es que no se como modificar ese codigo para que me haga lo que yo deseo, alguien que me pueda colaborar por favor, pero que me colaboren al ejemplo que mensione anteriormente, Gracias. |
#2
|
|||
|
|||
Hola!
bTF es una variable que debe recibir el procedimiento. Ese valor lo estan enviando cuando se llama a ese procedimiento desde otro punto de la aplicacion. ¿Recuerdas la estructura de arbol del registro? Bueno, pues si te fijas en el codigo que muestras recorren esa estructura y se posicionan donde necesitan cambiar el dato segun sea el valor de btF. Asi tu deberas recorrer la estructura hasta encontrar la clave que quieres cambiar. probablemente no sea necesario usar una variable como aqui pero eso lo deberas determinar tu en tu aplicacion.
__________________
ESTO ES UN FORO ... NO UN MÓVIL ¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender? |
#3
|
||||
|
||||
Saludos, gracias por responder, bueno la prgeunta es, si declaro la variable como dije anteriormente si me funcionara ??, es que si la coloco en el procedure me enviara error de una vez, y pues ese es todo el codigo que tengo, se que tambien tengo que incluir el Ragistry en el uses...pero como hago para cambiar el valor de 1 a 0, como lo mencione en el ejemplo ???, por favor si me puedes especificar un poco mas, es que nunca he hecho esto, y solo quiero aprenderlo...Gracias amigo..
|
#4
|
||||
|
||||
Oh lo olvidaba, tengo que colocar el codigo en algun evento en especial de la forma ?, o puedo colocar un boton y poner el codigo en el evento onclick del boton, para realizar la operacion cuando yo lo desee ???
Gracias por tu tiempo |
#5
|
||||
|
||||
Hola BuRtOn,
Aclarame una pregunta ¿Entiendes lo que es un parámetro? BTF es el parámetro que espera dicho procedimiento para saber como y/o que hacer en base al valor suministrado. La forma en que se invoca al procedimiento es simple:
Con respecto a Tregistry sugiero que hagas una lectura de la ayuda. Para hacer el cambio que buscas se emplea el método WriteString. El segundo parámetro representa el valor a guardar (o cambiar), mientras que el primero es la clave a modificar. Y para ello necesariamente debe estar abierta dicha clave del registro. Lo cual se consigue invocando al método OpenKey. Saludos, |
#6
|
||||
|
||||
Hola dlphius....pues mira esta es la primera vez que voy a hacer esto, y pues lo que basicamente quiero hacer es:
HEY_CURRENT_USER ---> Desktop ---> MenuShowDelay , cambiar el valor de MenuShowDelay que es por defecto 400 cambiarlo a 0, eso es lo que necesito hacer. Pero no se donde ubicarme en el valor que trae por defecto ese registro, en este caso seria 400, y no se donde le coloco el nuevo valor que seria 0, eso es basicamente lo que no entiendo, no se donde colocar el valor por defecto y el valor que le voy a dar que seria 0...eso es basicamente lo que no entiendo, el resto de codigo si lo entiendo un poco mas...bueno gracias por tu ayuda, espero que me colabores.. |
#7
|
||||
|
||||
A ver BuRtOn, por algo digo que leas la ayuda sobre TRegistry.
Tienes la clave de registro HEY_CURRENT_USER\Desktop\MenuShowDelay Bueno, empecemos a desarmar esta clave para que comprendas el porqué de cada método que ves en el código. HEY_CURRENT_USER corresponde al ROOT. El directorio principal de la clave. Luego le siguen los subdirectorios de la clave. En este caso es uno sólo: Desktop. Y por último viene la variable, MenuShowDelay. Cuando uno desea modificar una clave del registro debe abrir primero dicha clave. Esto se consigue con los siguientes pasos: 1. Establecer el root.
2. Abrir el/los directorio/s. Aqui hay dos maneras, Si el subdirectorio tiene muchos subdirectorios debemos ir abriendolos uno por uno, o directamente los abrimos todos de una vez. Por ejemplo,
es equivalente a hacer:
El segundo parámetro, que corresponde a un tipo boolean, es para indicar si debe crear el directorio en caso de no existir dicho directorio. Una vez que todos los directorios han sido abiertos, ya podemos modificar la clave o variable que buscamos. Aqui dependerá si lo que guarda es string, integer, etc. Por ejemplo, supongamos que se guarda un string:
En el ejemplo, se cambia la variable DisableTaskMgr con el valor 1 pero en string. Una vez hecho los cambios, hay que cerrar la clave.
¿Se entiende ahora? Es necesario que conozcas el registro de Windows. Al menos, lo que vas a modificar y/o leer. Con respecto a cuando y donde hacer esto, dependerá de lo que se necesite. Puede ser en la primera vez que se va a usar el programa, y de allí en mas no debería hacer falta volver a hacerlo. Dije debería puesto que si se cambia el registro, en forma externa a tu aplicativo ya suenan las sirenas. Puede ser ante la pulsación de un botón, en el evento OnCreate del form principal... esto ya es una cuestión de requisitos, de diseño del sistema y/o de implementación. Saludos, |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Editar componente por defecto de Delphi 6 | kapullok_2006 | OOP | 3 | 05-08-2008 15:04:57 |
Como editar una imagen con delphi 7 | kurono | Varios | 6 | 02-01-2008 22:23:12 |
Regedit | REHome | Windows | 6 | 06-08-2007 18:55:00 |
Editar imagen en Delphi | feico | Gráficos | 1 | 03-04-2007 14:36:06 |
leer una veriable del Regedit de windows con Delphi | afarenas | Varios | 8 | 26-09-2006 02:01:30 |
![]() |
|