web-dev-qa-db-fra.com

Restauration du logiciel ouvert après un événement de redémarrage dans Windows

Je trouve qu'à la fin d'une longue journée, j'ai parfois un grand nombre de programmes en cours d'exécution. Tout ce que je devrai utiliser demain. Normalement, ce n'est pas un problème, je peux simplement verrouiller la machine et revenir demain. Mon problème survient lorsque la mise à jour de Windows démarre au milieu de la nuit et force le redémarrage de mon ordinateur. Cela ferme à tour de rôle tous mes logiciels ouverts. Bien sûr, je sauvegarde tout régulièrement afin de ne rien perdre, mais je perds du temps à rouvrir toutes ces ressources à chaque redémarrage.

[MODIFIER]

Je devrais préciser que je veux toujours pouvoir redémarrer mon ordinateur lorsqu'une mise à jour est disponible. Empêcher le redémarrage ne fait que retarder le problème. J'aurais dû être plus spécifique dans le sens où je veux pouvoir récupérer mon environnement de travail après un redémarrage pour une raison quelconque. Des tâches telles que la maintenance planifiée, les coupures de courant, les mises à jour et les installations logicielles.

[MODIFIER]

Je ne peux pas simplement les configurer au démarrage car les fichiers changent de semaine en semaine. J'ai donc besoin de quelque chose qui surveille ce que j'ai ouvert et me donne la possibilité de "récupérer" ces sessions de logiciel lorsque je me reconnecte.

Quelqu'un a des suggestions sur ce que je peux faire? Je serais même prêt à acheter un logiciel pour le faire pour moi si c'était la seule option.

Merci

36
Doltknuckle

C'est tellement énervant qu'il n'y a toujours pas de solution élégante à ce problème!

Cela nous arrive à tous: Windows ralentit à l’arrêt (une sorte de fuite de mémoire est à l’origine de cette situation, car vous avez généralement 132 onglets ouverts chromés, 57 ouverts sous firefox, 24 fenêtres ouvertes au total, ce qui complique une opération qui les concerne tous en même temps que vous travaillez au-dessus de votre travail, de votre travail ... genre de gars), et cela devient tellement lent que vous commencez vraiment à perdre du temps attendre pour que des choses se passent sur votre ordinateur ..... il vous suffit donc de réinitialiser votre session qui s’est lentement accumulée au cours des 5 dernières semaines et de succomber enfin au cauchemar qui est en train de recréer votre fouillis complexe de fenêtres et de fichiers ouverts et d’Explorer. dossiers, après le redouté Windows redémarrer.

BIEN.

J'ai passé beaucoup de temps à chercher des solutions élégantes qui n'en font pas un cauchemar, et c'est ma conclusion et ma "solution" actuelle.

Je n’ai trouvé qu’un seul programme capable de sauvegarder et de restaurer à la fois les programmes ET les fichiers qu’ils avaient ouverts - et c’est vraiment très fluide. C'est Twinsplay (Professional Edition) . ( CacheMyWork et SmartClose ne font que restaurer les programmes, mais pas les fichiers. .)

Cependant, Twinsplay a quelques problèmes et mises en garde réels (et ce n’est pas un logiciel gratuit qui coûte 40 $):

  1. Lors de la restauration de firefox, il semble dupliquer TOUS les onglets à l'intérieur. Il doit être codé pour noter ce que vous avez chargé dans firefox (comme si chaque onglet était un "fichier" similaire à la manière dont il restaurerait fidèlement tous vos fichiers Word). déjà Firefox configuré pour ouvrir les onglets de la session précédente et avec 100 onglets ouverts, il va essayer de charger 200 onglets et sera généralement un désastre. En plus, ça déconne les onglets !! (heureusement, il conserve toujours au moins les onglets dupliqués dans son propre "groupe" commençant après le dernier des onglets d'origine, mais l'ordre de chacun des deux onglets est modifié, alors oui, il perturbe l'ordre de vos onglets d'origine). Je suis sûr que ce même problème se produirait sous Chrome ..... Je ne l'ai pas testé (je n'ai pas osé!).

  2. L'autre problème: pour tous les programmes que vous pourriez avoir généralement plusieurs fichiers ouverts (tels que Word, Photoshop, InDesign): si pour une raison quelconque une boîte de dialogue apparaît pendant le chargement du premier fichier dans le programme (une erreur de macro, ou comme dans mon InDesign, il me manquait un lien d’image dans le premier document), puis l’ouverture de tous les documents après le premier échouait, car Twinsplay de par sa conception chargeait tous les fichiers en même temps dans leurs programmes. Et Twinsplay n’affiche nulle part dans son interface utilisateur une liste de fichiers de la session enregistrée (ni dans les fichiers journaux/config d’Appdata, j’ai vérifié), donc si ce scénario se produit, vous oublierez probablement ce cinquième fichier dans InDesign. travaillaient il y a 4 semaines et il reste encore à finir!

SO: la méthode que je fais après tout cela est la suivante:

Je passe en revue chaque fichier ouvert dans la barre des tâches, copie son chemin de fichier (ce qui est assez facile à faire assez rapidement si vous connaissez bien les dialogues, menus et raccourcis clavier de Windows), et pour tout fichier ou fenêtre dans lequel je me trouvais repérer ou faire mettre certaines choses en surbrillance, etc., je note juste que vers le bas je n’oublie pas 10 minutes plus tard. Voici un exemple factice de ce que je veux dire.

Ensuite, après le redémarrage, il suffit de coller le chemin de chaque fichier dans la barre d’adresse de l’explorateur Windows pour ouvrir chaque fichier un par un, avec son programme associé. Si j’avais un fichier qui n’était pas réellement ouvert dans son programme associé (comme un fichier TIFF dans Photoshop), j’imagine que je le noterais pour que je me souvienne.

-

À PRÉSENT. Ma solution n’est pas trop mauvaise, mais il faut encore un certain temps pour copier le chemin de fichier de chaque fichier ouvert.

L'idéal serait d'avoir un outil qui crache tous les chemins de fichiers et chemins de programmes de Windows ("C:\photoshop.exe" "C:\image.TIFF") à la fois et vous pouvez ensuite mettre ces informations dans des scripts batch. d'ouvrir chaque fichier avec le programme dans lequel il se trouvait, un par un, ou tous en même temps dans le même lot si vous le souhaitez. Cela serait parfait.

Pour accélérer les choses, existe-t-il un moyen de copier les chemins de fichiers de TOUS les fichiers ouverts de Windows actifs? Un petit outil pour déterminer les chemins de fichiers de tous les éléments actuels de la barre des tâches devrait être assez simple! Si Twinsplay peut le faire, évidemment, cela peut être fait d'une manière ou d'une autre ..... J'ai posé cette question sur un article séparé, ici . Est-ce que ce code le fait?

Puisque Microsoft ne nous a pas fourni de solution élégante en un clic au niveau du système d'exploitation, , nous ne devrions pas essayer d'utiliser une méthode de restauration de session semblable à celle d'un hibernate avec un simple accès tiers ou par exemple bricoler avec hibernate cache recharger des hacks etc.

Le redémarrage de Windows est supposé être un rafraîchissement pour effacer RAM et tout effacer, sans le conserver dans son intégralité. Il est donc préférable de rouvrir manuellement vos fichiers (tout en notant quelques détails certains fichiers jusqu’à), mais CECI le plus élégamment possible.

16
user78017

J'ai entendu des gens utiliser un programme appelé CacheMyWork . Il rouvrira les applications que vous avez ouvertes, mais n'ouvrira pas les fichiers sur lesquels vous travaillez (sauf si le programme possède une telle fonctionnalité).

Une autre option consiste à éviter le problème en exécutant vos applications sur une machine virtuelle. Ensuite, lorsque vous rentrez chez vous, vous pouvez mettre en pause la machine virtuelle avec son état persistant sur le disque. Puis reprenez la machine virtuelle à votre retour. Cela élimine le problème, car il vous faudra un jour mettre à jour/corriger le système d'exploitation de la machine virtuelle. En outre, vous aurez probablement un impact sur les performances (leur taille dépend de ce que vous faites).

Pour ce qui est de laisser les choses ouvertes et de redémarrer les machines à partir de correctifs, je suis à vos côtés.

5
Scott McClenning

2016 et toujours rien de Microsoft ... J'ai décidé d'essayer avec vbscript. Ce n'est pas génial, mais tous les programmes sont sauvegardés, voire Windows.

Le premier script enregistre tous les processus dans un fichier texte du dossier spécifié (poste de travail) et tous les noms de fenêtres dans un fichier séparé. Le second script lit et lance tous les processus du fichier écrit par le premier script. Les deux doivent être enregistrés avec l'extension .vbs. En outre, la sauvegarde des noms de fenêtre nécessite l’installation de Microsoft Word (Don't ask ..).

On Error Resume Next
Dim session, folder, Word, Tasks

Set Word = CreateObject("Word.Application")
Set Tasks = Word.Tasks

' folder is the folder in which the files will be created. Can also be instantiated by hardcoding a path
folder = getPathOfFolder("Desktop")
' The second argument of the function call (session.txt) is the filename of the file containing all window names
Set sessionFile = CreateFileAt(folder, "session.txt")

for Each Task in Tasks
    if Task.Visible Then
        sessionFile.WriteLine(Task.Name)
    End if
Next
sessionFile.Close
Word.Quit

' The second argument of the function call (processes.txt) is the filename of the file containing all processes
Set processesFile = CreateFileAt(folder, "processes.txt")
set processesList = getAllProcesses()

for Each Process in processesList
    processesFile.WriteLine(Process.CommandLine & "")
Next

processesFile.Close
MsgBox("Done!")




Function getPathOfFolder(path)
    ' Dim objShell As Object
    ' Dim strPath As String

    Set objShell = Wscript.CreateObject("Wscript.Shell")
    Path = objShell.SpecialFolders(path)
    getPathOfFolder = Path & "\"
End Function

Function CreateFileAt(filePath, fileName)
    Dim fso, session
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set session = fso.CreateTextFile(filePath & fileName, true)
    Set CreateFileAt = session
End Function

Function getAllProcesses()
    Const Computer = "." 
    Dim WMI, ProcessList
    Set WMI = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & Computer & "\root\cimv2")
    Query = "Select * FROM Win32_Process"
    Set ProcessList = WMI.ExecQuery(Query)
    Set getAllProcesses = ProcessList
End Function

.

On Error Resume Next
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile(getPathOfFolder("Desktop") & "processes.txt", 1)

Do While file.AtEndOfStream = False
    Set Shell = CreateObject("Wscript.Shell")
    Shell.Run(file.ReadLine)
Loop

MsgBox("Done!")

Function getPathOfFolder(path)
    ' Dim objShell As Object
    ' Dim strPath As String

    Set objShell = Wscript.CreateObject("Wscript.Shell")
    Path = objShell.SpecialFolders(path)
    getPathOfFolder = Path & "\"
End Function

Je n'ai pas encore trouvé le moyen d'obtenir par programme les chemins de fichiers que l'utilisateur78017 copie à chaque redémarrage. Je voudrais savoir pour quels programmes ce script ouvre tous les fichiers ouverts et pour quels programmes il ne le fait pas. Si quelqu'un a envie de nettoyer ce code, n'hésitez pas à éditer le message.

4
Fr4nc3sc0NL

Celui-ci sur le fil RSS aujourd'hui:

CacheMyWork est un utilitaire pratique qui vous permet de redémarrer Windows sans perdre votre place dans votre travail. Il crée une liste de contrôle des applications actuellement ouvertes et redémarre les applications que vous avez sélectionnées lors de votre prochaine connexion à l'ordinateur.

Source

1
Steiv

J'ai le même problème. Après un redémarrage, j'ai au moins une demi-heure de redémarrage de tous les processus que j'utilise normalement.
J'ai trouvé un utilitaire capable de revenir au statut de pré-démarrage, Slimbrowser . J'aimerais beaucoup aimer davantage.

0
Dave