Hello,
当。。。的时候UAC在 Windows Vista、7 或 8 中显示消息时,后台将无法访问,直到用户从消息对话框中进行选择。是否可以使用 VB.NET 程序来完成此操作,以使后台无法访问,直到用户从表单中进行选择?
我想要的是当 UAC 或类似消息显示时背景会发生什么,如下图所示,
![enter image description here](https://i.stack.imgur.com/YRz8i.jpg)
这很容易做到,只需显示一个不透明的黑色无边框窗体和其顶部的对话框即可。请记住,这当然无法提供与 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
根据需要调整不透明度值,值越高,背景越暗。在一个小测试程序中看起来像这样:
![enter image description here](https://i.stack.imgur.com/aH6QZ.png)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)