Question

Je suis en train de créer un programme en C ++, que je veux être en mesure d'avoir la possibilité d'avoir les utilisateurs laissent le démarrage automatique dans les fenêtres. Ainsi, lorsqu'un utilisateur démarre son ordinateur, Windows démarrer automatiquement ce programme. J'ai lu des choses sur la modification du registre ou de le mettre dans le dossier de démarrage, mais ce serait la meilleure façon de le faire « propre »?

Était-ce utile?

La solution

dossier de démarrage est assez propre.

permet à l'utilisateur la possibilité de l'enlever si nécessaire.

Autres conseils

Il y a plusieurs façons de démarrer automatiquement une application, mais le plus simple, la meilleure et la plus courante de l'OMI sont:

  1. Mettre un raccourci dans le dossier Autostart
  2. Ajoutez une entrée de démarrage automatique au registre (Software \ Microsoft \ Windows \ CurrentVersion \ Run)

Le résultat final est le même pour les deux. Je crois que la manière de registre est exécuté plus tôt dans le processus d'ouverture de session que la voie de démarrage, mais je ne suis pas certain. Il ne fait aucune différence pour la plupart des cas de toute façon. Je préfère le registre, mais c'est goût personnel. Vous pouvez créer et supprimer la clé de Registre ou le raccourci programatically dans votre application.

Avec les deux options que vous pouvez utiliser un paramètre pour tous les utilisateurs (Tout dossier de démarrage de l'utilisateur, ou sous HKLM clé dans le Registre) ou utilisateur spécifique (dossier de démarrage de l'utilisateur ou sous clé HKCR).

En général, il est préférable d'utiliser les options par l'utilisateur, parce que vous pouvez être certain d'avoir des privilèges d'écriture dans ces domaines; et chaque utilisateur sur l'ordinateur peut avoir son / sa propre configuration.

Selon que vous exécutiez un tout utilisateur ou par l'utilisateur d'installer, mettre dans le dossier de démarrage pour tous les utilisateurs ou par utilisateur dossier de démarrage. Le dossier de démarrage que vous voyez dans le menu est la fusion des deux, mais les utilisateurs non-administrateurs ne peut pas supprimer les entrées provenant de la partie tout utilisateur.

fait, vous ne devez pas faire quoi que ce soit pour cela, cependant. Les utilisateurs peuvent copier votre raccourci normal au menu de démarrage eux-mêmes. Par conséquent, tout programme peut être un programme d'auto-démarrage. N'a pas besoin d'être C ++ du tout.

Vous pouvez enregistrer comme une fenêtre service.You peut utiliser "Qt Solutions" pour faire facilement une application en tant que service Windows.

Avec ce code, vous pouvez le faire

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;

ou ceci:

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);
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top