将按钮添加到 NotifyIcon
Add Button to 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
上下文菜单不再工作。
这只是一个大胆的猜测,但请尝试 运行 Single Thread Apartment 模式下的脚本:
powershell -STA -File .\myscript.ps1
我想看到一个小通知图标,表明我编写的脚本仍然有效(脚本和显示图标都有效)。但是我需要图标上下文菜单中的一个按钮来立即停止脚本。这就是我的问题所在:
$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
上下文菜单不再工作。
这只是一个大胆的猜测,但请尝试 运行 Single Thread Apartment 模式下的脚本:
powershell -STA -File .\myscript.ps1