PowerShell中的超链接图像



是否有可能在PowerShell GUI中有一个嵌入式超链接来打开网页的图像?例如,如果我在PowerShell GUI表单中有一张汽车的图像,当用户单击该图像时,它将打开https://cars.com。

我试过各种谷歌搜索,但从来没有找到答案。

这是非常简单的,如果你使用Windows窗体-只需添加一个事件处理程序的Click事件的窗体控件,你想作为一个链接,然后从那里调用Start-Process <URL>:

try {
# ensure dependent assemblies are loaded
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing
# create form with a picturebox
$form = [System.Windows.Forms.Form]::new()
$pictureBox = [System.Windows.Forms.PictureBox]::new()
$form.Controls.Add($pictureBox)
# load image from disk, configure picture box
$image = [System.Drawing.Image]::FromFile((Convert-Path pathtoimage.png))
$pictureBox.Image = $image
$pictureBox.Width = $image.Width
$pictureBox.Height = $image.Height
# add an event handler for the `Click` event of the picture box
$pictureBox.add_Click({
# Start-Process will invoke the default handler for URLs (usually your browser)
Start-Process 'https://stackoverflow.com/'
})
# show form
$form.ShowDialog()
}
finally {
# clean up
$image,$form |ForEach-Object Dispose
}

如果你想让目标控件更像"链接",覆盖鼠标悬停时显示的光标为手,就像浏览器DOM中的锚一样:

$pictureBox.Cursor = [System.Windows.Forms.Cursors]::Hand

相关内容

  • 没有找到相关文章