Quel est le meilleur moyen d’obtenir tous les processus de démarrage Windows à l’aide de l’API Windows?

Je sais qu’il existe des dossiers de démarrage et certaines clés de registre que je dois examiner. Mais comment faire cela en utilisant Windows API? Je suis intéressé à connaître pour Windows XP et Vista. Merci pour votre temps.

Il n’y a pas d’API unique pour obtenir tous les programmes qui s’exécutent pendant le démarrage du système. Considérez toutes les choses que montre Autoruns . Les mises à jour de ce programme lui permettent parfois d’afficher de nouvelles classes de programmes. Comme il s’agit de mises à jour du programme et non du système d’exploitation, il est évident qu’une API ne peut pas être modifiée. C’est plutôt le programme qui élargit progressivement sa notion de “programme à exécution automatique”.

Déterminez ce que vous souhaitez considérer comme un “processus de démarrage”, puis déterminez les API ou autres techniques que vous pouvez combiner pour connaître tous ces processus.

Parmi les endroits à regarder sont les suivants:

  • La clé de registre “run”, comme l’a mentionné AJ .
  • Le menu “démarrage”, tel qu’il est défini par diverses constantes utilisées avec ShGetFolderPath et certaines de ses fonctions associées.
  • Tâches programmées pour s’exécuter lors de la connexion.
  • Services .

Chaque puce comprend au moins un lien vers une page MSDN qui devrait vous aider à démarrer. Si vous avez besoin de plus, envisagez de poser des questions plus spécifiques.

Je ne suis pas sûr qu’une telle API existe. Néanmoins, vous pouvez écrire une fonction pour le faire.

Les noms et l’emplacement du processus de démarrage sont stockés dans l’emplacement suivant du registre:

 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run   

Vous pouvez écrire une petite fonction pour ouvrir le registre ci-dessus et lire les détails du processus de démarrage.