如何隐藏COM对象从Python调度

时间:2010-12-14 13:33:20

标签: python com

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

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

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

提前致谢 [R

1 个答案:

答案 0 :(得分:2)

如果您知道自己的应用程序名称或类别,可以通过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, 巴勃罗