我使用 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)