在VS中运行Python时,如何设置命令行窗口默认打开坐标?
调整Python控制台窗口的默认打开坐标(Windows环境)
嘿,我之前做视觉分析的时候也被这个问题烦过——命令行窗口总挡着我要看的图像数据!你已经搞定了窗口大小设置,那调整坐标其实有两种靠谱方案,给你详细唠唠:
方案1:直接调用Windows API(推荐,无需新开窗口)
这种方法通过ctypes直接调用Windows系统API,能精准调整当前控制台窗口的位置,不用额外开新窗口,最适合VS里直接运行脚本的场景:
import os import ctypes # 先执行你已经写好的窗口大小设置 os.system("mode con cols=50 lines=20") # 获取当前控制台窗口的句柄 user32 = ctypes.WinDLL('user32', use_last_error=True) console_handle = user32.GetConsoleWindow() # 设置窗口位置:x=150, y=150(可根据你的屏幕需求修改数值) # 参数说明: # - console_handle:目标窗口的句柄 # - 0:保持窗口原有层级,无需改动 # - 150, 150:窗口左上角的x、y像素坐标 # - 0, 0:宽度和高度(因为用了SWP_NOSIZE标志,这里会被忽略) # - 0x0001 | 0x0004:标志位,SWP_NOZORDER(不改变窗口层级)+ SWP_NOSIZE(保持现有窗口大小) user32.SetWindowPos(console_handle, 0, 150, 150, 0, 0, 0x0001 | 0x0004)
你只需要把150, 150改成你想要的坐标就行,比如屏幕是1920x1080的话,设置x=1400, y=50就能把窗口放到右上角,完全不挡视觉分析的数据区域。
方案2:通过start命令新开指定位置的窗口
如果你需要新开一个独立的命令行窗口来运行脚本,也可以用start命令的/pos参数指定位置:
import os # 新开一个cmd窗口,设置位置x=200,y=200,大小cols=50 lines=20,然后运行你的业务脚本 os.system('start "" /d "." /pos,200,200 cmd /k "mode con cols=50 lines=20 && python your_script.py"')
注意:这种方法需要把your_script.py替换成你实际的业务脚本名称,运行这个启动脚本后,VS会新开一个符合位置要求的窗口来执行代码。
小提示
- 坐标是以屏幕左上角为原点的像素值,你可以根据自己的屏幕分辨率灵活调整;
- 方案1的优势是直接修改当前运行脚本的控制台窗口,不需要额外操作,体验更流畅;
- 如果VS以管理员身份运行,方案1依然能正常工作,兼容性更好。
内容的提问来源于stack exchange,提问作者howerpower
相关产品推荐
相关产品推荐

