在执行任何 Python 代码时将 CMD 窗口带到前台的模板

问题描述 投票:0回答:1

当我想通过在终端中运行任何Python将VSCode带到前台时,我这样做:

import subprocess
import os

VS_CODE_PATH = r'C:\Users\Computador\AppData\Local\Programs\Microsoft VS Code\Code.exe'

def attention() -> None:
    subprocess.Popen([VS_CODE_PATH, os.getcwd()])

我尝试直接使用CMD的路径:

import subprocess
import os

CMD_PATH = r'C:\WINDOWS\system32\cmd.exe'

def attention() -> None:
    subprocess.Popen([CMD_PATH, os.getcwd()])

但它并没有按照我想要的方式将正在运行的内容带到前台。

我应该如何进行才能让他为我执行所需的操作?

python cmd
1个回答
0
投票

要将窗口置于前台,您可以使用 PyGetWindow。该脚本应该适用于任何操作系统,因为 PyGetWindow 库是跨平台的。我已经在 Windows 11 上测试过它。我添加了“.*?”正则表达式语句,因为 VS Code 在标题中包含文件名和项目名。另外,如果您同时运行多个 VS Code 实例,您应该相应地修改此脚本。

import pygetwindow as gw
from re import match


def bring_window_to_foreground(window_title):
    windows = gw.getAllTitles()
    filtered_values = list(filter(lambda v: match(f".*?{window_title}.*?", v), windows))
    win = gw.getWindowsWithTitle(filtered_values[0])[0]
    win.activate()
    
bring_window_to_foreground("Visual Studio Code")
© www.soinside.com 2019 - 2024. All rights reserved.