Pourquoi mon invite de commande se fige-t-elle sous Windows 10?

146

J'ajoute cette question après avoir passé une journée entière à lutter avec cette fonctionnalité incroyablement frustrante de l'invite de commande Windows 10 qui m'a fait penser qu'il y avait un problème avec le code de mon application console. J'espère que cela aidera quelqu'un.

Problème: mon application console semble s'arrêter de manière aléatoire. Que se passe-t-il?

Shaun Rowan
la source
2
Vous devez également appuyer sur Entrée pour continuer à exécuter le programme
Wrivas

Réponses:

270

Le problème a fini par être une nouvelle fonctionnalité de la console Windows 10. Dans la configuration par défaut, chaque fois que vous cliquez sur une fenêtre de commande dans Windows 10, il arrête immédiatement le processus d'application lorsqu'il tente d'écrire sur la console. Lorsque cela se produit, la fenêtre de commande est passée en mode "sélection".

Vous pouvez dire que cela s'est produit car il préfixera la barre de titre de la fenêtre de commande avec le mot "Sélectionner":

fenêtre de commande gelée

Pour relancer votre programme, vous devez appuyer sur échapper ou cliquer ailleurs.

Pour vous débarrasser de ce comportement étrange, vous pouvez désactiver le mode QuickEdit:

désactiver le mode QuickEdit

Shaun Rowan
la source
26
Mon dieu vous remercie! Je fais face à cela depuis un an LOL. Vous devrez peut-être également dissocier l'option, FERMER le terminal et l'ouvrir à nouveau. Au moins, c'est ainsi que cela fonctionne pour moi (sinon, il le
réactivera
3
J'avais un travail de compilation de plusieurs heures qui continuerait à geler à cause de cela. Je suis ravi d'avoir publié une solution!
Joel
2
Bien que cette réponse ait aidé à désactiver le gel au clic, le défilement de la barre latérale le gèle également. Le comportement précédent était de geler pendant que la barre de défilement était maintenue et la sortie était imprimée lorsque vous relâchiez la barre de défilement. Une idée de comment revenir à son ancien comportement / le dégeler? Echap ou entrée ne fonctionne pas.
quimnuss
6
c'est une fonctionnalité très ancienne pour un copier-coller plus rapide. C'est juste que Windows 10 commence à l'activer par défaut Comment désactiver le clic droit pour coller dans PowerShell?
phuclv
3
"Feature not a bug" étant le fléau des utilisateurs partout
tschwab
20

Ce que j'aimerais ajouter ici à la réponse de Shaun Rowan, c'est que pour que cela fonctionne dans toutes les fenêtres de la console, vous devez cliquer sur "Paramètres par défaut", au lieu de "Propriétés" et y apporter vos modifications, comme décrit dans cet article .

iko79
la source
0

J'ai été confronté à ce problème très récemment où l'un des utilisateurs (qui avait configuré Quickedit sur son invite de commande) utilisait un outil que j'ai développé en Java et bloquait l'outil lors de son exécution à partir de l'invite de commande.

Enfin, ce qui a résolu le problème a été de rediriger la journalisation à l'intérieur du script batch vers un fichier comme indiqué ci-dessous:

@echo off
...
java.exe -jar mytool.jar

devait être mis à jour pour

java.exe -jar mytool.jar > log.txt
Priyanku
la source
1
Pour les développeurs, ce fil peut être intéressant, vous pouvez désactiver ce comportement par programme en utilisant SetConsoleMode(kernel32.dll).
Groo