【茶包射手日記】CMD.exe 正常開啟,視窗卻不見蹤影
| | 5 | |
遇到鳥問題。在 Windows 10 輸入 CMD 開啟命令列提示視窗,下方工作列有出現 CMD 項目,但視窗本體不見蹤影。
身為資深 Windows 使用者,馬上想到可能是系統有記憶上次視窗開啟的桌面座標及大小,下次開啟時顯示在同一位置。我前陣子有調過螢幕,第二螢幕由右邊搬到左邊,有可能它記憶的座標在「右邊的第二螢幕」超出了可視範圍。
定神一看,點擊工作列 CMD 項目切換焦點時有塊由小到大的黑影向右方一閃而過,把第二螢幕切到右邊,果然 CMD 視窗出現在第二螢幕,證實了我的猜測。
爬文找到 CMD 存視窗座標及大小的 Registry 位置,在 HKCU:\Console 下,cmd.exe、Git Bash、Git CMD 各有自己的設定:
WinowPostion 0x01cf07f6, 相當於 X=0x7f6(2038),Y=0x1cf(463)、WindowSize 0x00170078 則代表視窗大小為寬 120 字元高 33 字元。我的螢幕寬 1920,視窗左上角設成 2038 超出最右側,落在不可視範圍。嚴格說起是 CMD 的 Bug,遇到座標超出範圍自動拉回可視區域才是友善做法。
知道原因,修正不難,把 WinowPostion 砍掉即可。順便練習怎麼用 PowerShell 操作:
註:有讀者提到可以按 Win + 左/右 將視窗移回可視桌面範圍,但當時試過未成功,找機會再來驗證一次。
A misplaced CMD window issue on Windows was resolved by adjusting Registry settings for window position and size, correcting its off-screen coordinates.
Comments
# by 湯瑪斯
1、對著工作列上的命令列提示視窗 icon 按 shift + 滑鼠右鍵,會出現選單,如果有"移動"選項 跳過步驟2進行步驟3 2、選"還原",這時候視窗就不會最小化在工作列,但是因為命令列提示視窗的座標超出螢幕範圍的話會看不到視窗,所以再次對著工作列上的命令列提示視窗 icon 按 shift + 滑鼠右鍵,就可以看到"移動"選項 3、點選"移動",這時候滑鼠會跳到命令列提示視窗 呈現 十字 (因為超出螢幕看不到視窗,所以應該是找不到滑鼠游標),這時候不要移動點擊滑鼠,直接用鍵盤上下左右去移動命令列提示視窗 的位置。 另外對著工作列上的命令列提示視窗 icon 按 shift + 滑鼠右鍵選設定 可以設定命令列提示視窗的啟動參數,設定啟動位置,這樣執行命令列提示視窗 就會出現在固定的座標位置
# by Raven
win + UP 放大之後再拖拉也可以
# by Eric
Alt + Tab選到該視窗後用Alt + space打開title列的控制選單,按M觸發移動選項,按住滑鼠左鍵就可以拖回來了。 有些古早的第三方程式也有這個問題,設定也不知道存在哪裡,只能透過UI拉回來。
# by Shelly
我早期碰到這種視窗不知道為什麼跑到邊邊角角去都用湯瑪斯的做法,但很難拉(可能是我手殘),沒想到可以找Registry XD
# by 貴
有次安裝 miniconda,連帶搞壞了 cmd,最後好像也是去登錄編輯程式砍掉錯誤的指令才修復