如何隐藏从Python调度的COM对象


问题内容

我在Python中使用COM,并且我希望对象在后​​台运行-隐藏。使用Excel我可以:

Import win32com.client 
Excel=win32com.client.Dispatch("Excel.Application") 
Excel.Visible=1

但是我的应用程序没有属性.Visible-还有其他隐藏方法吗?也许有一些特殊的参数要调度?

在此先感谢R


问题答案:

如果您知道应用程序的标题或类,则可以通过ShowWindow将其隐藏:

import win32com.client 
import win32con
import win32gui
import time

print "Start"
excel = win32com.client.Dispatch("Excel.Application") 
excel.Visible = 1   # Visible via automation
time.sleep(2)
hwnd = win32gui.FindWindow(None, "Microsoft Excel")  # Class or title
print "Hide"
win32gui.ShowWindow(hwnd, win32con.SW_HIDE) # Hide via Win32Api
time.sleep(2)
print "Show"
win32gui.ShowWindow(hwnd, win32con.SW_SHOW) # Show via Win32Api
time.sleep(2)

###

HTH,Pablo