Retarder le lancement des applications au démarrage

Retarder le lancement des applications au démarrage - Win NT/2K/XP - Windows & Software

Marsh Posté le 23-12-2005 à 20:03:38    

Bonjour à tous, j'aimerais savoir s'il est possible "d'étendre dans le temps" le lancement des programmes qui se lancent au démarrage de Windows. Le but serait de pouvoir lancer un logiciel lorsque l'on est préssé sans pour autant attendre une heure que tous les programmes en tâche de fond, tous utiles mais par forcément tout de suite, aient finis de se lancer et qui rendent le démarrage de Windows interminable.
 
Je pense par exemple dire à un programme d'attendre un certain nombre de secondes avant de se lancer. Je pourrais appliquer cela à certains logiciels comme DeamonTool's, eMule, etc, voir aux progs qui gèrent mon imprimante, ma tablette graphique mais je laisserais les indispensables comme le firewall, l'anti-virus se lancer normalement.
 
Alors des idées ?

Reply

Marsh Posté le 23-12-2005 à 20:03:38   

Reply

Marsh Posté le 23-12-2005 à 21:45:01    

[:maverick57] Hi JPaPay [:maverick57]
 
 Je te conseille d'utiliser l'utilitaire de windows 'msconfig'.  
 
Si tu utilises win 98,tu vas dans 'éxécuter' et tu tapes msconfig puis tu sélectionnes les programmes qui se lancent au démarrage (onglet "startup" )  
http://www.chinesefortunecalendar.com/Share/Images/MSconfig.gif
 
cela nécéssite un redémarrage bien entendu... :sleep:  :sleep:  :sleep: [:absolut_limon]
 
Par exemple, pour ma part, j'ai laissé le firewall et l'antivirus s'éxécuter à l'allumage, mais pas des progs type Nero ou Msn mesenger.
 
Maintenant, si tu tournes sous 2000 ou XP, le msconfig n'existe po.
Tu dois
1. le télécharger
http://www.generation-nt.com/telec [...] /Msconfig/
 
2. l'installer dans le dossier system32 (qui se trouve à la racine du répertoire  Winnt)  
 
3. tester en utilisant la commande 'éxécuter'
:jap:  
4. attention tout de même à ne pas désactiver certains programmes importants au démarrage.
 
[:mad666] Oki Doki? [:mad666]


---------------
^¨^¨^Avocat du diable^¨^¨^
Reply

Marsh Posté le 24-12-2005 à 09:28:21    

JPaPay a écrit :

Bonjour à tous, j'aimerais savoir s'il est possible "d'étendre dans le temps" le lancement des programmes qui se lancent au démarrage de Windows. Le but serait de pouvoir lancer un logiciel lorsque l'on est préssé sans pour autant attendre une heure que tous les programmes en tâche de fond, tous utiles mais par forcément tout de suite, aient finis de se lancer et qui rendent le démarrage de Windows interminable.
 
Je pense par exemple dire à un programme d'attendre un certain nombre de secondes avant de se lancer. Je pourrais appliquer cela à certains logiciels comme DeamonTool's, eMule, etc, voir aux progs qui gèrent mon imprimante, ma tablette graphique mais je laisserais les indispensables comme le firewall, l'anti-virus se lancer normalement.
 
Alors des idées ?


 
Salut,
 
1/ Tu déplaces les entrées dans la BDR (sauf celles de protection : antivirus,...) vers le menu Démarrage
2/ Au démarrage de Windows, si tu ne veux pas charger tes programmes, tu appuies sur la touche [MAJ]
3/ Quand tu as besoin d'un programme, tu le lances depuis le menu Démarrage
 
 :jap:

Reply

Marsh Posté le 24-12-2005 à 09:31:29    

MSConfig Existe sous Windows XP
sinon MSConfig est bien, mais hijackthis permet de faire la même chose au cas où et de fournir un log.  
Tu colles le log ici et on pourra te dire ce que tu peux virer du demarrage et qui ne sert à rien, car souvent sur tous les softs qu'on installe, beaucoup mettent des exe au demarrage de Windows qui ne servent pas à grand chose, voire rien du tout

Reply

Marsh Posté le 25-12-2005 à 12:22:27    

D'accord avec vous mais ce que vous me dites, je l'ai déjà fait en virant les programmes que je me servais peu, avec X-Setup, surtout pour décharger un peu ma mémoire quand j'en ai vraiment besoin (pour bosser). Mais il me reste l'essentiel (à part eMule), ce qui n'empêche pas la lenteur du démarage et le fait qu'il faille attendre pour lancer un programme.
 
A la limite, la solution de Dji-Pih serait la meilleur mais me force à les lancer manuellement, alors que dans le cas d'eMule par exemple, je n'y penserais pas forcément.
 
Sinon avec un petit batch ?

Reply

Marsh Posté le 25-12-2005 à 13:30:00    

C'est possible ce que tu souhaites faire et même assez simple à faire.
 
Il te faut te procurer SLEEP.EXE qui est un utilitaire qui a comme fonction de ne rien faire pendant X secondes (ou milisecondes via le paramètre -m). Cet utilitaire est disponible dans le Resource Kit de Windows 2003 (ca fait un gros téléchargement pour un petit utilitaire)
 
Une fois le resource kit installé, copie C:\Program Files\Windows Resource Kits\Tools\sleep.exe dans C:\Windows ; après tu peux désinstaller le resource kit (ou jeter un oeil aux autres utilitaires).
 
L'opération suivante consiste à créer un batch avec les appels aux programmes résidants, ce batch commencera par un appel à sleep pour laisser le temps à ton OS de charger le reste ou à toi de lancer une application.
 
Par exemple, attend 2 minutes avant de lancer les programmes :

@ECHO OFF
SLEEP 120
START "C:\Program Files\ATI Technologies\ATI Control Pannel\atipatxx.exe"
START "C:\Program Files\Adobe\Adobe Acrobat 7.0\Distillr\Acrotray.exe"
START "C:\Program Files\D-Tools\daemon.exe" -lang 1033
START "C:\Program Files\Skype\Phone\Skype.exe" /nosplash /minimized


Evidement il faut le personnaliser avec tes programmes...
 
Dernière étape tu déasctives à l'aide de MSCONFIG les programmes que tu ne souahites plus lancer tout de suite et tu ajoutes un raccourci vers ton batch dans le menu démarrage ou dans la registry sous la clef "Run".


Message édité par Requin le 25-12-2005 à 13:36:24
Reply

Marsh Posté le 25-12-2005 à 14:19:27    

ou un script autoit

Reply

Marsh Posté le 25-12-2005 à 15:06:39    


A la rigueur un batch avec ping et l'option -n .
 

Reply

Marsh Posté le 29-12-2005 à 01:00:27    

Désolé de n'avoir pas répondu avant je remettais mon système à neuf.
 
Requin, je te remercie, ta technique est exactement ce à quoi je m'attendais. Plutôt que de le Resource Kit, j'ai téléchargé ce fichier sur la Mule, j'en ai pris plusieurs parce qu'aucun n'a la même taille, donc pas facile de savoir lequel est le bon.
Je vais tester ça et je vous tiens au courant.
 
Gatsu35, je ne vois pas trop ce que tu veux dire.
 
aldo13000, idem. :(

Reply

Marsh Posté le 29-12-2005 à 02:01:40    

C'est bon, j'ai fait un test et ça fonctionne. La seule différence est qu'il faut mettre -t entre Sleep et le temps.
Je n'ai plus qu'à applique avec mes vrais programmes pour voir ce que ça donne.
 
Sinon, y'a t-il un moyen de lancer le batch de façon transparente/en tâche de fond ? Je peux le lancer en fenêtre réduite pour qu'il n'apparaisse que dans la barre des tâches mais peut-on faire mieux ?

Reply

Marsh Posté le 29-12-2005 à 02:01:40   

Reply

Marsh Posté le 29-12-2005 à 08:16:49    

Tu peux passer à du VBScript et Windows Scripting Host si tu ne souhaites pas voir de fenêtre...  
 
http://msdn.microsoft.com/scripting/
 
La ocmmande est wshShell.Execute

Reply

Marsh Posté le 30-12-2005 à 17:37:44    

Bon j'ai appliqué dans ma situation réelle (plus un test) et quelle efficacité !  :bounce:  
Le démarrage est maintenant beaucoup plus rapide, j'ai accès à mes programmes quasi instantanément !
 
Pour un démarrage transparent, j'ai d'abord mis un délais de 120 secondes pour le 1° programme, puis un délai de 15 secondes entre chaque suivant. Au démarrage, je n'ai plus que les indispensables : l'antivirus, le firewall et le drivers pour ma connexion réseau sans fil (que des services). Sachant que j'ai également viré les services non indispensables, j'ai vraiment l'impression d'avoir un Windows tout neuf.
 
Je conseille cette méthode à tous ceux qui en ont marre d'attendre 3 plombes qui l'ordi soit disponible. Merci Requin.
 
Pour le VBSript et Windows Scripting Host, ça a l'air trop compliqué (pas programmeur du tout moi) pour pas grand chose. Ce n'est qu'un onglet dans la barre des tâches, ça reste assez discret.
 
Encore merci à toi Requin et aussi à tous ls autres.

Reply

Marsh Posté le 30-12-2005 à 17:55:10    

moi j'ai plus rapide que d'eteindre et rallumer son PC
sur mon portable j'ai associé le bouton Power à l'action "Veille Prolongée"
 
La veille prolongée est comme une sauvegarde de l'activité de Windows lorsque tu appuie sur le bouton power, windows enregistre toute la ram dans un fichier.
et quand tu rallume le PC, windows fait l'inverse
et paf kan tu reprend ton pc automatiquement, tu as les progs ke tu avais ouvert ainsi qu'un démarrage défiant un windows vierge

Reply

Marsh Posté le 30-12-2005 à 18:46:47    

Gatsu35 -> Avec 2 Go de RAM sur mon portable la veille prolongée me pose quelques soucis. C'est assez lent (malgré un HD 7200 rpm) et si j'ai une floppée d'applications ouvertes (mais largement moins d' 1 Go de RAM utilisée) je me retrouve avec un message indiquant des ressources insuffisantes pour mener à bien l'opération, alors que c'est justement dans ce genre de cas que ce serait sympa une veille prolongée.

Reply

Marsh Posté le 30-12-2005 à 19:16:59    

J'ai écris rapidement un petit script en VBScript. Il a l'avantage de n'afficher aucune fenêtre et de ne pas nécessiter SLEEP.EXE.
 
Il suffit de l'enregistrer dans un fichier nommé "delay_startup.vbs". Il suffit de l'adapter, la ligne de commande entre les guillemets. La il lance le Bloc-Note, la calculette et le démineur.
 

' delay startup of applications, usefull for resident apps which start with windows
' this script is public domain ! Use it, modify it, do what you want with it
 
' list of applications (modify with your programs)
myPrograms = Array( _
             "%SystemRoot%\system32\notepad.exe", _
             "%SystemRoot%\system32\calc.exe", _
             "%SystemRoot%\system32\winmine.exe", _
             "" )
 
' main startup delay in seconds (set your own delay)
iMainDelay = "120"
 
' delay between each program in seconds (set your own delay)
iIntermediateDelay = "15"
 
' Set shell object
Set WshShell = WScript.CreateObject("WScript.Shell" )
 
' wait the main delay
wScript.Sleep(iMainDelay * 1000)
 
' launch software
For Each Program In myPrograms
   If Program <> "" Then
      WshShell.Run(Program)
      wScript.Sleep(iIntermediateDelay * 1000)
   End If
Next


Message édité par Requin le 30-12-2005 à 19:17:53
Reply

Marsh Posté le 10-06-2008 à 08:00:25    

Reçu en MP :
 

yaumeguy a écrit :

Salut,
 
Je viens de trouver ton script pour lancer des applications, vraiment très utile ! Je me permet de te contacter car j'aimerai ajouter une fonctionnalité :
 
- Vérifier si l'application que je souhaite démarrer n'est pas déjà lancée
          - Si ce n'est pas le cas, lancer l'appli
          - Si c'est le cas, fermer l'application, puis la relancer
 
Le but est de relancer une application avec des paramètres différents, puis de lancer d'autres applis derrière toujours avec un timing entre chaque.
 
 
Je te redonne le lien de ton script (ça date de 2005 !) :
 
http://forum.hardware.fr/hfr/Windo [...] 7816_1.htm
 
Merci !!
 
Guillaume


 
Salut,
 
Pour vérifier si un processus tourne il suffit de faire appel à WMI, Win32_Process. Voici un code qui vérifie si le bloc-note est lancé ou non :
 


sProcessName = "notepad.exe"
 
sComputer = "."    ' use "." for local computer
Set oWmi = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & sComputer & "\root\cimv2" )
 
Set oShell = CreateObject("WScript.Shell" )
 
Set colProcessList = oWmi.ExecQuery("Select * from Win32_Process Where Name = '" & sProcessName & "'" )
If colProcessList.Count = 0 Then
   msgbox "Notepad is not running"
Else
   msgbox "Notepad is runnning ! Press OK to terminate this process."
   For Each objProcess in colProcessList
       objProcess.Terminate()
   Next  
End If


 
Reste à modifier le premier script avec les éléments du 2ème ;)

Message cité 1 fois
Message édité par Requin le 10-06-2008 à 08:01:22
Reply

Marsh Posté le 10-06-2008 à 14:30:29    

Bonjour
 
Je me permets de poser une question ici, vu que le sujet semble presque similaire.
j'ai pas mal de souci avec le wi-fi. En fait windows essai de connecter les lecteurs reseau avant que la connexion soit effective... C'est assez embetant.
Comment dire a Windows d'attendre que la connexion soit active pour tenter de reconnecter les lecteurs reseaux ?
 
Cordialement


---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 10-06-2008 à 14:57:08    

Requin a écrit :

Reçu en MP :
 


 

Requin a écrit :


 
Salut,
 
Pour vérifier si un processus tourne il suffit de faire appel à WMI, Win32_Process. Voici un code qui vérifie si le bloc-note est lancé ou non :
 


sProcessName = "notepad.exe"
 
sComputer = "."    ' use "." for local computer
Set oWmi = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & sComputer & "\root\cimv2" )
 
Set oShell = CreateObject("WScript.Shell" )
 
Set colProcessList = oWmi.ExecQuery("Select * from Win32_Process Where Name = '" & sProcessName & "'" )
If colProcessList.Count = 0 Then
   msgbox "Notepad is not running"
Else
   msgbox "Notepad is runnning ! Press OK to terminate this process."
   For Each objProcess in colProcessList
       objProcess.Terminate()
   Next  
End If


 
Reste à modifier le premier script avec les éléments du 2ème ;)


 
faut contacter Joce la,... 3 ans pour recevoir un MP,.. ya a un probleme avec le forum


---------------
#mais-chut
Reply

Marsh Posté le 10-06-2008 à 23:13:40    

T'inquiète le MP date pas, c'est juste qqn qui a fait une recherche et est tombé sur ce topic et m'a ensuite envoyé un MP en me repointant ce topic.
 
Comme la question peut intéresser d'autre personnes je n'y ai pas répondu en MP, mais dans le topic ;)

Reply

Marsh Posté le 11-06-2008 à 15:19:08    

Voici le code ! Après pas mal de tatonnements, ça marche impec :-)
 

Code :
  1. ' delay startup of applications, usefull for resident apps which start with windows
  2. ' this script is public domain ! Use it, modify it, do what you want with it
  3. ' list of applications (modify with your programs)
  4. myPrograms = Array( _
  5.              "%SystemRoot%\system32\notepad.exe", _
  6.              "%SystemRoot%\system32\calc.exe", _
  7.              "" )
  8. ' main startup delay in seconds (set your own delay)
  9. iMainDelay = "3"
  10. ' delay between each program in seconds (set your own delay)
  11. iIntermediateDelay = "2"
  12. ' Set shell object
  13. Set objShell = CreateObject("Wscript.Shell" )
  14. ' wait the main delay
  15. wScript.Sleep(iMainDelay * 1000)
  16. ' launch software
  17. For Each Program In myPrograms
  18.    If Program <> "" Then
  19. Dim i,tb,ProgShort
  20. tb = split(Program,"\" )
  21. For i = lbound(tb) to ubound(tb)
  22.      ProgShort = tb(i)
  23. next
  24. strComputer = "."
  25. Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2" )
  26. Set colItems = objWMIService.ExecQuery("Select * from Win32_Process Where Name = '"&ProgShort&"'" )
  27. For Each objItem in colItems
  28.        objItem.Terminate()
  29.  wScript.Sleep(iIntermediateDelay * 1000)
  30. Next
  31. objShell.Run Program
  32. wScript.Sleep(iIntermediateDelay * 1000)
  33.    End If
  34. Next


 
Guillaume

Reply

Marsh Posté le 13-06-2008 à 17:38:34    

Salut,
Voilà, au début, je cherchais simplement une commande automatique au lancement de Windows pour arrêter un programme assez gênant.
Je l'ai trouvée ici ( fichier .bat )
Mais comme j'ai pas envie de voir cette moche fenêtre de cmd, j'me suis dis "Et si je prenais le wScript et que je le triturais pour ledit programme ?"
Et le truc, c'est que bah, au début de ta commande, tu demande d'ouvrir des programmes localisés après x secondes...
Je voulais savoir si le wScript permet de lancer l'équivalent de la commande au démarrage que j'ai créée
Ce qui donne:

Code :
  1. sleep 15
  2. cd c:\
  3. net stop pctimewatch


 
Une cmd vraiment basique quoi !  :whistle:  
Y a-t-il une commande équivalente qui me permettrait de ne plus voir la fenêtre de cmd ?  :bounce:  
Merci d'avance,
Xhueloe

Reply

Marsh Posté le 15-06-2008 à 07:11:51    

Salut,
 
Visiblement tu as assez de droits pour arrêter un service (de contrôle parental), donc démarrer -> exécuter -> services.msc -> ok -> tu cherches le service qui correspond à pctimewatch -> click droit -> propriétés -> type de démarrage -> désactivé
 
Sinon :
 

WScript.Sleep(15000) ' attend 15 secondes
 
sProcessName = "pctimewatch" ' à vérifier que le processus s'appelle bien ainsi avec par exemple le gestionnaire de tâches
 
sComputer = "."    ' use "." for local computer
Set oWmi = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & sComputer & "\root\cimv2" )
 
Set oShell = CreateObject("WScript.Shell" )
 
Set colProcessList = oWmi.ExecQuery("Select * from Win32_Process Where Name = '" & sProcessName & "'" )
If colProcessList.Count <> 0 Then
   oShell.Run("net stop ""pctimewatch""" )
End If

Reply

Marsh Posté le 15-06-2008 à 18:19:32    

Ah merde tu m'as grillé tu connais pctimewatch xD
Nan mais ma mere a perdu le password : / alors bon evidemment...
Fin soit merci bcp pour le code et la désactivation de démarrage. Donc j'ai plus besoin du wScript si j'ai bien compris ?
Merci encore,
 
Xhueloe

Reply

Marsh Posté le 15-06-2008 à 21:44:48    

Si tu indiques que le service ne doit pas se lancer il est clair que tu as nullement besoin de l'arrêter.
 

Citation :

Nan mais ma mere a perdu le password


 
Pour récupérer le password ;)
 
http://cs.mainsoft.fr/forums/736/ShowThread.aspx


Message édité par Requin le 15-06-2008 à 21:46:11
Reply

Marsh Posté le 16-06-2008 à 19:12:50    

J'ai déja suivi cette explication, sans succès...
C'est là, d'ailleurs, que j'ai trouvé la commande net stop pctimewatch : P
 
Mais merci beaucoup pour ton aide ^^
A+
 
Xhueloe

Reply

Marsh Posté le 17-07-2008 à 23:15:35    

Xhueloe a écrit :


Nan mais ma mere a perdu le password  
 
Pour récupérer le password  
http://cs.mainsoft.fr/forums/736/ShowThread.aspx

 
J'ai déja suivi cette explication, sans succès...


Hello Xhueloe!
 
Si votre demande de récupération du mot de passe n'a pas eu d'effet, c'est peut-être parce que la personne qui l'a reçue (votre serviteur) n'est pas aussi naïve que cela  :) .
 
Comme je déteste l'idée que votre maman ait dépensé le prix d'une licence en pure perte (mais pour votre bien), je la préviens de ce pas :na: . Pas très difficile de la retrouver...
 
Cordialement.


Message édité par MainSoft le 17-07-2008 à 23:18:34
Reply

Marsh Posté le 17-07-2008 à 23:32:09    

Citation :

Maintenant, si tu tournes sous 2000 ou XP, le msconfig n'existe po.


 
Pardon ? [:hide]

Reply

Marsh Posté le 31-01-2011 à 10:16:25    

Bonjour,

 

Sleep, c'est bien, mais ça occupe une partie de la mémoire et des ressources processeur.

 

Pour cette raison, j'ai écrit un programme qui lance une tâche planifiée à une heure calculée par rapport au lancement de la commande. Le gestionnaire de tâches planifiées étant par défaut lancé au démarrage de Windows, aucune ressource supplémentaire n'est sollicitée.

 

http://www.xxxxxxxxxxxxxxxxxxxxxxx [...] Retard.htm


Message édité par freds45 le 31-01-2011 à 12:15:39
Reply

Marsh Posté le 31-01-2011 à 10:50:08    

3 ans plus tard ....


---------------
#mais-chut
Reply

Marsh Posté le 31-01-2011 à 12:09:21    

Plus tard que quoi ?

Reply

Marsh Posté le 31-01-2011 à 12:13:35    

Regarde la date des derniers posts.
 
Et un sleep, c'est insignifiant en termes de conso CPU et d'occupation mémoire. On pourrait même croire que tu spammes pour faire connaître ton soft.

Reply

Marsh Posté le 31-01-2011 à 12:13:52    

le dernier message avant le tiens remonte a 3 ans,.. je suppose que la personne a plus spécialement le problème


---------------
#mais-chut
Reply

Marsh Posté le 31-01-2011 à 12:15:28    

Spam.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed