.net - 即使表单最小化如何刷新任务栏预览
问题描述
我遇到了问题,我注意到 90% 的 Windows(7,8,10) 应用程序不会更新任务栏预览(当您将鼠标悬停在任务栏中的应用程序图标上时的那个小窗口)所以当应用程序最小化时任务栏预览只是冻结而不更新,除了一些应用程序即使在最小化时也会更新它(例如 Windows Media Player、Music Bee)。我尝试自己使用WindowsAPICodePack
并裁剪任务栏预览来解决此问题,并且我还使用了第二种形式并将其设置Opacity
为 0,但它不起作用。我现在没有要显示的代码。
解决方案
要以编程方式刷新任务栏预览并使用自定义位图:
Imports System
Imports System.Drawing
Imports System.Threading
Imports System.Windows.Forms
Imports Microsoft.WindowsAPICodePack.Taskbar
Namespace CustomThumbnailImage
Public Partial Class Form1
Inherits Form
Private customThumbnail As TabbedThumbnail
Public Sub New()
InitializeComponent()
End Sub
Protected Overrides Sub OnShown(ByVal e As EventArgs)
MyBase.OnShown(e)
customThumbnail = New TabbedThumbnail(Me.Handle, Me.Handle)
TaskbarManager.Instance.TabbedThumbnail.AddThumbnailPreview(customThumbnail)
customThumbnail.TabbedThumbnailBitmapRequested += AddressOf customThumbnail_TabbedThumbnailBitmapRequested
End Sub
Private Function GenerateBitmap() As Bitmap
Dim bitmap As Bitmap = New Bitmap(150, 150)
Using g = Graphics.FromImage(bitmap)
Dim random = New Random(Environment.TickCount)
Using brush = New SolidBrush(Color.FromArgb(255, random.[Next](255), random.[Next](255), random.[Next](255)))
g.FillEllipse(brush, 10, 30, 130, 90)
End Using
End Using
Return bitmap
End Function
Private Sub customThumbnail_TabbedThumbnailBitmapRequested(ByVal sender As Object, ByVal e As TabbedThumbnailBitmapRequestedEventArgs)
Dim bitmap = GenerateBitmap()
customThumbnail.SetImage(bitmap)
ThreadPool.QueueUserWorkItem(Sub(c)
Thread.Sleep(2000)
Me.Invoke(New MethodInvoker(AddressOf InvalidateThumbnail))
End Sub)
End Sub
Private Sub InvalidateThumbnail()
customThumbnail.InvalidatePreview()
End Sub
End Class
End Namespace
Win7Api 示例的所有部分
推荐阅读
- r - 如何在公式中使用带有非二进制变量的 prodlim 函数?
- api - Symfony 4.2 和 Nelmio Api Doc Bundle - 带有多个控制器的几个文档
- python - 在列表视图中获取 Django 模型以显示两者
- javascript - 如何使用画布 js 使在我的图像上制作的多边形可点击?
- selenium - 如何使用量角器使无头 chrome 工作以进行窗口身份验证弹出
- angular - 如何解决无法从角度形式读取复选框值的问题?
- json - dict到数据框,列名不正确
- android - Google Places api 会否弃用?
- algorithm - 如何使用 TimSort 按多个字段排序?
- php - Yii2:致命错误:未捕获的异常 'yii\base\InvalidConfigException'