我正在尝试使用办公自动化(PIA)将一些.pptx文档转换为其他一些格式。然而,即使主窗口被隐藏,PowerPoint仍坚持显示进度条。
有没有什么办法可以阻止PowerPoint在主桌面上显示任何窗口?
额外信息:
我主要使用C#,COM PIA来实现Office interop。但我不怕深入研究C++ :P
我使用PIA启动PowerPoint,如下所示
var app = new PowerPoint.Application();
var ppt = app.Presentations.Open("my.pptx");
// This line will show a progress dialog
ppt.SaveAs("out.pdf",
PowerPoint.PpSaveAsFileType.ppSaveAsPDF,
MsoTriState.msoTrue);
app.Quit();发布于 2011-02-24 23:06:51
在调用powerpoint进程之前,您可以使用CreateDesktop调用来创建备用桌面。这将确保powerpoint创建的窗口不可见。然而,这里有一些警告:
您还可以尝试使用Windows Message Hook来确定窗口的创建时间并使其不可见。这也有一些警告:
发布于 2018-11-28 16:43:17
您可以尝试保留Application.Visible属性的默认值,并在打开演示文稿时将MsoTriState.msoFalse传递给WithWindow参数:
var application = new Application();
var document = application.Presentations.Open(fileName, MsoTriState.msoFalse, MsoTriState.msoFalse,
WithWindow: MsoTriState.msoFalse);如果将Application.Visible属性显式设置为MsoTriState.msoFalse,则会出现“不允许隐藏应用程序窗口”错误。
https://stackoverflow.com/questions/5105869
复制相似问题