将按钮添加到NotifyIcon

时间:2016-03-07 10:59:21

标签: powershell contextmenu notifyicon

我想看一个小的通知图标,表明我写的脚本仍处于活动状态(脚本和显示图标都有效)。但是我需要在图标的上下文菜单中使用一个按钮来立即停止脚本。这就是我的问题所在的部分:

$objNotifyIcon = New-Object System.Windows.Forms.NotifyIcon 
$objContextMenu = New-Object System.Windows.Forms.ContextMenu
$ExitMenuItem = New-Object System.Windows.Forms.MenuItem

$ExitMenuItem.add_Click({
   echo stoped
   $continue = $False
   $objNotifyIcon.visible = $False
})

$objContextMenu.MenuItems.Add($ExitMenuItem) | Out-Null
$objNotifyIcon.ContextMenu = $objContextMenu
$objNotifyIcon.Visible = $True

脚本本身更长,这只是相关部分。如果我从PowerShell ISE运行它可以正常工作。当我使用

从.bat文件运行它时
powershell .\myscript.ps1

上下文菜单不再有效。

1 个答案:

答案 0 :(得分:1)

这只是一个猜测,但尝试在Single Thread Apartment模式下运行脚本:

powershell -STA -File .\myscript.ps1