tipos sintaxis funciones ejemplos declaracion datos comandos codigos basicos c++ windows autostart

sintaxis - tipos de datos en c++



Cómo crear un programa c++ de inicio automático (5)

Dependiendo de si está ejecutando una instalación para todos los usuarios o por usuario, colóquela en la carpeta Inicio de Todos los usuarios o en la carpeta de inicio por usuario. La carpeta de inicio que ve en el menú es la fusión de ambos, pero los usuarios que no son administradores no pueden eliminar las entradas provenientes de la parte Todos los usuarios.

En realidad, no tienes que hacer nada por esto. Los usuarios pueden copiar su acceso directo normal al menú de Inicio ellos mismos. Por lo tanto, cualquier programa puede ser un programa de inicio automático. No necesita ser C ++ en absoluto.

Estoy creando un programa en c ++, y quiero poder tener la opción de permitir que los usuarios comiencen automáticamente en Windows. Entonces, cuando un usuario inicia su computadora, Windows iniciará automáticamente este programa. He leído cosas sobre cómo modificar el registro o ponerlo en la carpeta de inicio, pero ¿cuál sería la mejor forma "limpia" de hacerlo?


Hay muchas formas de iniciar automáticamente una aplicación, pero las mejores, más comunes y las mejores de la OMI son:

  1. Ponga un acceso directo en la carpeta de inicio automático
  2. Agregue una entrada de inicio automático al registro (Software / Microsoft / Windows / CurrentVersion / Run)

El resultado final es el mismo para ambos. Creo que la forma de registro se ejecuta antes en el proceso de inicio de sesión que en el inicio, pero no estoy seguro. No hace ninguna diferencia para la mayoría de los casos de todos modos. Prefiero el registro, pero ese es el gusto personal. Puede crear y eliminar la clave de registro o el acceso directo programáticamente en su aplicación.

Con ambas opciones, puede usar una configuración para todos los usuarios (la carpeta de inicio de Todos los usuarios o la clave HKLM en el registro) o específica del usuario (carpeta de inicio del usuario o en la tecla HKCR).

En general, es mejor usar las opciones por usuario, porque puede estar seguro de tener privilegios de escritura en esas áreas; y cada usuario en la computadora puede tener su propia configuración.


La carpeta de inicio está lo suficientemente limpia.

Le da al usuario la posibilidad de eliminarlo si es necesario.


Puede registrarlo como un servicio de Windows. Puede usar "Qt Solutions" para crear fácilmente una aplicación como servicio de Windows.


Con este código puedes hacerlo

procedure TForm1.Button1Click(Sender: TObject); var Reg:TRegistry; begin Reg := TRegistry.Create; try Reg.OpenKey(''Software/Microsoft/Windows/CurrentVersion/Run'',True); Reg.WriteString(''Program name'',ParamStr(0)); finally Reg.Free; end; end;

o esto:

using Microsoft.Win32; private void AddStartUpKey(string _name, string _path) { RegistryKey key = Registry.LocalMachine.OpenSubKey(@"Software/Micros oft/Windows/CurrentVersion/Run", true); key.SetValue(_name, _path); } private void RemoveStartUpKey(string _name) { RegistryKey key = Registry.LocalMachine.OpenSubKey(@"Software/Micros oft/Windows/CurrentVersion/Run", true); key.DeleteValue(_name, false); }