У меня есть сценарий PowerShell, который ищет письмо, а затем открывает его
Как только у меня есть объект MailItem , я получаю его инспектор с MailItem.GetInspector и затем я пытаюсь отобразить почту на переднем плане благодаря Inspector.Display и Inspector.Activate .Документ для метода Activate гласит:
Активирует окно инспектора, выводя его на передний план и устанавливая фокус клавиатуры.
Но Activate не работает, почтаоткрыт, но он остается в фоновом режиме, он не на переднем плане.И я не знаю и не понимаю, почему.
Мой скрипт PowerShell:
param(
[string] $Subject,
[string] $Path
)
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8;
Add-type -assembly "Microsoft.Office.Interop.Outlook" | out-null
$olFolders = "Microsoft.Office.Interop.Outlook.olDefaultFolders" -as [type]
$outlook = new-object -comobject outlook.application
$namespace = $outlook.GetNameSpace("MAPI")
$subfolder = $Path.Split('/')
$folder = $namespace.Folders($subfolder[1])
for($i=2; $i -lt $subfolder.Length; $i++) {
$folder = $folder.Folders($subfolder[$i])
}
$filter = "@SQL=urn:schemas:httpmail:subject LIKE '%"+$Subject+"%'"
$mail = $folder.items.find($filter)
$inspector = $mail.GetInspector
$inspector.Display()
$inspector.Activate()
Я пытаюсь использовать только $inspector.Display()
или inspector.Activate()
, но результат тот же, окно отображается, но остается в фоновом режиме.
Спасибо за вашу помощь !!