[英]Prevent child process from creating visible windows?
我正在嘗試使用Office Automation(PIA)將一些.pptx
文檔轉換為其他格式。 但是,即使主窗口被隱藏,PowerPoint也會堅持顯示進度條。
有什么辦法可以阻止PowerPoint向主桌面顯示任何Windows嗎?
額外的信息:
我主要使用C#,COM PIA for 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();
您可以在調用powerpoint進程之前使用CreateDesktop
調用來創建備用桌面。 這將確保powerpoint創建的窗口不可見。 但是,這里有一些警告:
您還可以嘗試使用Windows消息掛鈎來確定窗口何時創建並使其保持不可見。 這也有一些警告:
您可以嘗試將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
,則會出現“不允許隱藏應用程序窗口”錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.