web-dev-qa-db-fra.com

Retarder le démarrage des programmes Windows au démarrage?

Sous Windows XP J'utilise 18 programmes. Au démarrage, il faut 2-3 minutes pour les charger tous. Anti-virus, traducteur, déverrouillage, indexeur de fichiers, gestionnaire de téléchargement, messagerie instantanée, etc.

J'ai besoin de tous et ils sont sur la barre d'état système Windows en attente de moi pour utiliser. Je ne peux donc pas en supprimer un, car je les utilise fréquemment. 5-6 fois par jour.

Mais je n'ai pas besoin d'eux dans la startup. Alors, comment puis-je retarder le chargement de ces programmes.

Par exemple: - Antivirus, indexeur de fichiers: au démarrage - Traducteur, gestionnaire de téléchargement, logiciel de déverrouillage: 5 minutes après le démarrage, etc.

Quelles solutions recommandez-vous?

15
trante

Le Delayer de démarrage effectue la tâche: http://www.r2.com.au/page/products/show/startdelay

11
Matthijs

Au lieu de la commande ping que Jeffy avait suggérée auparavant dans Windows XP/Vista/2008, j'utilise la commande timeout dans un fichier de traitement par lots.

Syntaxe: timeout /t seconds

@echo off

rem for 5mins delay..

timeout /t 300

rem starting delayed start programs

start cmd /C "C:\Some\Path\To\A\Program.exe"

start cmd /C "C:\Some\Path\To\A\Shortcut.lnk"

start notepad

P.S. Si vous ne voulez pas voir le compte à rebours, vous pouvez supprimer la sortie comme suit: timeout /t 300 > nul

6
paparoun
  1. Créez un fichier de commandes appelé "5minsdelayStart":

     @ echo off 
     dort pendant 300 000 millisecondes (5 minutes) 
     ping -n 1 -w 300000 -4 10.0.0.0> NUL 
     
     rem de démarrage retardé démarrer des programmes 
     démarrer cmd/C "C:\Some\Path\To\A\Program.exe" 
     démarrer cmd/C "C:\Some\Path\To\A\Shortcut.lnk "
    
  2. Remplacez les commandes du bas par les éléments que vous souhaitez démarrer après un délai de 5 minutes.

  3. Ajoutez ce fichier de commandes à votre dossier de démarrage.

Remarque : Vous pouvez créer un raccourci vers le fichier de commandes, puis définir les options de lancement pour démarrer le fichier de commandes réduit. De toute façon, vous aurez une invite de commande en arrière-plan, mais au moins, si elle est minimisée, l'intrusion ne sera pas trop importante!

En outre, si pour une raison quelconque sur votre réseau 10.0.0.0 achemine réellement vers quelque chose de valide, vous devez changer cette adresse IP en quelque chose d'autre (qui n'a pas d'itinéraire).

3
Jeffy

En fait, les deux réponses ont du mérite. Définir un délai fixe peut ne pas être dans votre intérêt, car les besoins évoluent avec le temps. Tout délai prédéfini pour lancer le reste de la charge en une fois peut être encore plus gênant que de le démarrer à un moment où vous effectuez l’attente habituelle "Attendre Windows".

J'envisagerais d'ajouter un argument à "continuer à attendre? Y/N" au lot si vous avez beaucoup d'éléments. Ou vous pouvez laisser cela être une extension temporisée automatique basée sur l'activité. (c’est-à-dire attendre une heure sans activité du clavier pour continuer). Quoi qu’il en soit, à moins que vous ne fassiez cela dans l’ensemble (chacune en tant qu’action distincte chronométrée), vous constaterez que le faire toutes les 5 minutes après le démarrage est tout aussi mauvais, voire pire, que de tout exécuter avant de commencer.

Je pense que si tout cela est absolument nécessaire, il serait peut-être préférable de les placer dans une séquence avec une exécution à la fois, puis en vérifiant s'il n'y a toujours aucune activité, puis en exécutant la suivante. Bien sûr, vous seul savez quels sont ceux qui sont nécessaires au démarrage. Certains peuvent ne pas être nécessaires du tout pour certains épisodes d'activation/désactivation rapides. Si elles sont placées dans le bon ordre, elles ne seront jamais atteintes avant la mise hors tension.

Une autre possibilité consiste à lier le chargement au besoin de ce qui est chargé. Si vous n'allez pas sur Internet, n'utilisez pas de courrier électronique ou toute autre activité à "risque élevé", vous pourriez envisager de ne pas charger votre logiciel audiovisuel. L'ajout de la commande à "Exécuter ceci en premier si ce n'est déjà fait" à ces activités peut vous donner une augmentation significative de la vitesse pour les jeux locaux ou tout autre élément qui n'a pas besoin d'être vérifié et revérifié à chaque déplacement. Liez simplement le démarrage au programme qui en a besoin.

Une autre option à envisager serait de définir autant de tâches que vous pouvez faire pour "exécuter en tant que service" car cela semble généralement prendre moins de temps pour devenir actif que d'exécuter une séquence normale "démarrer le programme".

FYI il existe un utilitaire très utile que j'ai utilisé et donné à beaucoup de gens au fil des ans, appelé "StartMan", facilement trouvé avec Google et Free et je suis sûr qu'il en existe d'autres. Cela fonctionne avec toutes les versions de Windows que j'ai essayées de Win98 à Win7. Cela vous permettra d'avoir beaucoup plus de contrôle sur vos programmes de démarrage sans avoir à apporter de modifications permanentes à votre configuration de démarrage et d'annuler facilement ceux qui ne sont pas productifs.

2
questorfla

Tout d'abord, supprimez-les de l'exécution au démarrage.
Créez ensuite un programme batch pour les exécuter tous.
Ainsi, une fois que votre ordinateur a fini de démarrer, la première chose à faire est d’exécuter votre programme de traitement par lots pour tout charger.

1
Ivan

Pour tous ceux qui disent "First remove them from run at startup.", je dois dire:

Toutes les applications ne fonctionneront pas, certaines se rajoutent au registre lorsqu'elles sont exécutées.

Donc, supprimer la clé de registre de démarrage n'est pas une solution pour ne pas l'exécuter au prochain démarrage, à moins que la clé de registre ne soit supprimée après la suppression de l'application.

Le pire des cas (pilote scanné) a été lancé au démarrage d’une application. Cette application ne possède pas d’interface graphique, mais elle se verrouille elle-même avec le processus "système", elle ne peut donc pas être tuée à moins de tuer "système" ( = BSOD), même si le registre locks/hooks change, ainsi après la suppression de la clé, elle réapparaîtra, etc. Comme l'application ne peut pas être supprimée, vous ne pourrez pas l'empêcher de s'exécuter au prochain démarrage. Seule la solution fonctionne (sans formatage): commencez avec Linux et supprimez cette application, ne l'installez plus jamais ... mais comme c'est un "pilote", elle est réinstallée dès que l'USB est en service (même si le périphérique n'est pas branché) ), vous devez donc supprimer toutes les entrées USB, pilotes, fichiers, etc., redémarrer sous Linux et supprimer l’application.

Je comprends que pour les applications "normales", c’est très facile ... il suffit de supprimer la clé de registre lauch et de placer cette commande dans un fichier .lnk (raccourci), puis à partir d’un script, exécutez le fichier .lnk que vous souhaitez mettre en veille entre eux. .. ou certains diffèrent d'une minute, d'autres de 5 minutes, etc ... en scriptant et en appelant tous les scripts en parallèle, afin que chacun puisse attendre une heure différente, bla bla bla ...

Mais que faire avec ceux (Java Updater, etc.) qui se sont redirigés vers le registre dès qu’ils sont exécutés, ou quand ils sont fermés, ou pire ... pendant qu’ils sont en cours d’exécution dès qu’ils détectent la clé manquante sur le registre , etc.

Certains ont la possibilité de ne pas démarrer automatiquement, mais d'autres pas.

Pour les "normales", c’est très bien et ça marche très bien ... pour de tels, disons "laids", qu'est-ce qui peut être fait? Rien, sauf supprimer la clé de registre après l'arrêt, après la suppression/la fermeture de l'application.

Je n'ai vu aucun programme vous permettant de configurer les clés de registre kay que vous souhaitez supprimer lors de la dernière étape de l'arrêt; je vois des personnes le faire au début de l'arrêt ... mais je ne peux pas contrôler que d'autres applications fonctionnent toujours (peut pas d’ordre d’arrêt), donc si un utilisateur est toujours en cours d’exécution, dès que la clé reg est supprimée, ce dernier l’ajoute de nouveau.

J'ai ma propre solution (très méchante, je dois l'avouer): je verrouille de telles clés de registre sans droits d'administrateur, uniquement avec des droits d'utilisateur spécifiques, de sorte que toute application (ne fonctionnant pas en tant qu'utilisateur spécial du système) s'exécute avec des droits d'administrateur, etc. ne peut pas le modifier ... avertissement avec certaines applications, ils devront ré-exécuter de continuer à fonctionner une fois lancés car ils ne modifieront pas cette clé de registre, vous devez donc exécuter un script en 4 étapes pour les lancer ... définissez les droits pour autoriser, exécutez l'application et attendez un peu, définissez les droits pour ne pas autoriser (admin) mais autoriser un utilisateur spécifique, supprimez la clé (puisque les droits de script sont des droits d'utilisateur, ce sera autorisé) ... et lorsque l'application tentera à nouveau d'ajouter de nouveau si vous avez de la chance, l'application ne se fermera pas brusquement, sinon ... vous devez laisser le registre jusqu'à l'arrêt, dans ce cas, ajoutez une tâche de planification pour supprimer la clé de registre ... rappelez-vous que les clés de registre peuvent être également supprimé en lançant un .reg avec des instructions pour cela ... inutile de créer une application pour le faire.

Etc., etc., je souhaite que certains outils gratuits aient de telles choses mises en œuvre, mais je n’ai toujours trouvé personne, ni payant.

0
claudio

Windows Script peut être utilisé à la place du script de commande. Il a une méthode Sleep () qui devrait être supportée par Windows XP. Il fonctionne sans aucune fenêtre visible et permet de configurer la visibilité du programme exécuté - masqué, normal ou réduit.

Avant d'utiliser Windows Script, le système doit être vérifié s'il est configuré pour exécuter les fichiers * .vbs.

Vous trouverez ci-dessous un exemple de script qui doit être placé dans un fichier portant l'extension "VBS", par exemple "DelayedStart.vbs" et placé dans le dossier Démarrer du menu Démarrer:

Set Shell = WScript.CreateObject("Wscript.Shell")

WScript.Sleep(5000)
Shell.Run """C:\Program Files\Debug\MemInfo\meminfo.exe""", 2, False
Shell.Run """C:\Windows\System32\taskmgr.exe""", 2, False

rem True=wait until exits
rem Window: 0=hidden, 1=normal, 2=minimized
rem Shell.Run """notepad.exe"" ""argument with space""", 1, False
rem Shell.Run "notepad.exe """ & WScript.Arguments.Item(0) & """", 1, True
0
bomanz