您好,
在Windows Vista,7或8中显示UAC消息时,在用户从消息对话框中选择之前,将无法访问背景。可以使用VB.NET程序来完成此操作,以使背景无法访问,直到用户从表单中选择了吗?
我想要的是当UAC或类似消息显示如下图时背景发生了什么,
最佳答案
这很容易做到,只需显示带有不透明度的黑色无边框表单,并在其顶部显示对话框即可。请记住,这当然不能提供与UAC提示所提供的保护级别相同的级别,您不能自己使用安全桌面。
Public Shared Function Plexiglass(dialog As Form) As DialogResult
Using plexi = New Form()
plexi.FormBorderStyle = FormBorderStyle.None
plexi.Bounds = Screen.FromPoint(dialog.Location).Bounds
plexi.StartPosition = FormStartPosition.Manual
plexi.AutoScaleMode = AutoScaleMode.None
plexi.ShowInTaskbar = False
plexi.BackColor = Color.Black
plexi.Opacity = 0.45
plexi.Show()
dialog.StartPosition = FormStartPosition.CenterParent
Return dialog.ShowDialog(plexi)
End Using
End Function
根据需要调整“不透明度”值,该值越高,背景越暗。在一个小的测试程序上看起来像这样: