Cita:
Empezado por BuRtOn
Saludos, Ok delphius gracias tus aportes fueron de gran ayuda, repase bien el codigo y pude lograr lo que queria, aqui esta el codigo como lo hice:
Código Delphi [-]unit ufrmAumentarVelocidadMenu; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Registry, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Label1: TLabel; Label2: TLabel; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var reg: TRegistry; begin reg:= TRegistry.Create; reg.RootKey := HKEY_CURRENT_USER; reg.OpenKey('Control Panel\Desktop\', True); reg.WriteString('MenuShowDelay','0'); reg.CloseKey; MessageDlg('Su Menu Ha Sido Optimizado',mtInformation,[mbOK],0); end; procedure TForm1.Button2Click(Sender: TObject); begin Application.Terminate; end; end.
Espero que a alguien le sea util...Bueno delphius ahora va esta pregunta, como hago el condicional, para que me haga lo siguiente:
* Por ejemplo voy a ejecutar la aplicacion para que me aumente la velocidad de mi menu de inicio de windows, que es basicamente cambiar el valor de 400 a 0, como esta en mi codigo, pero si alguien ejecuta mi aplicacion y ya han modificado el registro, osea ya no esta en 400 si no en 0, en pocas palabras necesito que me determine si el menu ya ha sido optimizado oh no, osea al ejecutar mi aplicacion que me determine si el valor 400 ya ha sido modificado a 0, para enviar un mensaje que me diga: "su equipo ya habia sido optimizado", espero que me puedas colaborar, y grcias ante mano.
|
Una manera de hacerlo es leyendo dicha clave. Para eso en vez de WriteString, debes emplear ReadString. Tu aplición entonces, lo que puede hacer es el OnCreate de tu forma principal, leer el valor del registro y si no es igual a 400, lo cambia.
TRegistry cuenta con los métodos necesarios para leer, guardar, eliminar claves, para saber si existe alguna clave en particular o no... En estos momentos no tengo Delphi a mano, pero estoy seguro de que para leer el valor es ReadString.
El procedimiento es el mismo:
1. Establecer el root
2. Abrir directorios
3. Leer clave
4. Si el valor de clave leida es distinto a '0'
4.1. escribir en clave el valor '0'
Una vez que el TRegistry se ubica en una clave, se puede trabajar con ella. De modo que con solo abrir los directorios para leerlos ya no te haría falta volver a abrirlos para modificarlo. ¿Se entiende?
Sugiero que leas la ayuda sobre TRegistry. En serio, es preferible tomarse unos minutos para leer un poco y comprender mejor que intentar a ciegas.
Recuerda que el registro de Windows es un tanto sencible, una metedita de pata y ¡PUM! estallan pantallitas azules.
Saludos,