
疑問標題:為什么Windows的命令行(cmd窗口)某些時候會卡住?
現象描述:程序命令行運行過程中被鼠標點擊操作后,突然停止運行/輸出(程序似乎被阻塞,比如連接數據庫、程序運行日志...),按下 鼠標右鍵/回車鍵后 則又繼續運行/輸出。
問題分析:“命令行運行過程中被鼠標點擊”操作其實是觸發了命令行的‘快速編輯模式’。
(資料圖片僅供參考)
注1:快速編輯模式 是一種很便捷的操作方式,左鍵選中,右鍵復制以及右鍵可從剪貼板粘貼內容。
注2:實測winserver2008默認是關閉快速編輯模式的,window10默認是開啟快速編輯模式的。(其他版本的window未進行測試)
解決方式:
方式1:右鍵單擊命令行標題欄 -> 屬性 -> 選項 -> 編輯選項中 取消勾選快速編輯模式。 #僅當前命令行中生效
方式2:右鍵單擊命令行標題欄 -> 默認值 -> 選項 -> 編輯選項中 取消勾選快速編輯模式。 #所有新命令行中生效
方式3:注冊表中修改對應的值 (0表示關閉快速編輯模式,1表示開啟)
reg add HKEY_CURRENT_USER\Console /v QuickEdit /t REG_DWORD /d 00000000 /f
reg add HKEY_CURRENT_USER\Console /v QuickEdit /t REG_DWORD /d 00000001 /f
方式4:手動打開注冊表修改值也可以,命令行中輸入regedit后即打開注冊表編輯器,轉到HKEY_CURRENT_USER\Console,將QuickEdit的值從1改成0進行關閉。
方式5:Java操作DOS命令進行查詢[RuntimeUtil.execForStr("REG QUERY HKEY_CURRENT_USER\\Console /v QuickEdit")] 其他可參見 reg/? 獲取幫助。