始终最小化启动某些命令行工具

始终最小化启动某些命令行工具

我使用 Spyder 作为 Python IDE,它在运行时调用外部编译器 (NVCC)。此编译器在外部命令行窗口中打开。

有没有办法创建一个批处理文件或类似的东西,我可以把它放在中间,将所有命令转发到 nvcc.exe 和从 nvcc.exe 转发,但在后台启动进程?nvcc 被硬编码为扩展名(所以我不能使用 .bat)

我已经尝试设置指向设置为“最小化”的 .lnk 的符号链接,但没有作用。

答案1

目前似乎没有简单的解决方案,但我找到了一种使用以下 Python 代码的解决方法:

import win32gui
import win32com.client
import time
prev_hwnd = win32gui.GetForegroundWindow()
while True:
    toplist = []
    winlist = []
    hwnd = win32gui.GetForegroundWindow()
    title =  win32gui.GetWindowText(hwnd)
    if 'nvcc.exe' in title.lower():
        shell = win32com.client.Dispatch("WScript.Shell")
        shell.SendKeys('%')
        win32gui.SetForegroundWindow(prev_hwnd)
        print('Minimized nvcc.exe')
    else:
        prev_hwnd = hwnd

    time.sleep(0.001)

相关内容