我的使命是从使用PowerShell创建一个Outlook实例来简单地查看,或使可见的过程,我可以在TaskManager中看到毕业。PowerShell打开Outlook,使可见
对于Digress,这适用于Word,但不适用于我替换Outlook。为Word。
$ MsApp =新物体-ComObject Word.Application
$ MsApp.Visible = $真实
我已经检查方法,但不能找到一个合适的动词打开,运行或使可见。 我会很感激解决方案。
我的使命是从使用PowerShell创建一个Outlook实例来简单地查看,或使可见的过程,我可以在TaskManager中看到毕业。PowerShell打开Outlook,使可见
对于Digress,这适用于Word,但不适用于我替换Outlook。为Word。
$ MsApp =新物体-ComObject Word.Application
$ MsApp.Visible = $真实
我已经检查方法,但不能找到一个合适的动词打开,运行或使可见。 我会很感激解决方案。
要激活这只是最小化的运行Outlook:
[Runtime.InteropServices.Marshal]::GetActiveObject("Outlook.Application").ActiveWindow().Activate()
要创建一个Outlook实例是可见的(这是最简单的,只是start outlook.exe
):
(new-object -com Outlook.Application).GetNamespace("MAPI").GetDefaultFolder("olFolderInbox").GetExplorer().Display()
为了使代码更清晰:
$outlook = new-object -com Outlook.Application
$namespace = $outlook.GetNamespace("MAPI")
$folder = $namespace.GetDefaultFolder("olFolderInbox")
$explorer = $folder.GetExplorer()
$explorer.Display()
如果您希望使已经运行的Word或Outlook实例可见,则不需要使用New-Object。你想获得运行的对象。你可以用.NET调用做到这一点:
$word = [Runtime.InteropServices.Marshal]::GetActiveObject("Word.Application")
$word.Visible = $true
谢谢Keith,明天我会试试。 – 2010-09-09 21:11:19
它适用于WORD,但不适用于Outlook。 – 2010-09-10 16:10:56
@GuyThomas:尝试'$ Outlook = [Runtime.InteropServices.Marshal] :: GetActiveObject(“Outlook.Application”) $ outlook.ActiveWindow()。Activate()' – craig 2014-12-05 18:22:54
辉煌 - 正是我想要的,谢谢。 – 2010-09-10 16:11:25