如何使用C#锁定屏幕?
发布时间:2020-12-15 06:24:37 所属栏目:百科 来源:网络整理
导读:我只写了我的第一个C#应用程序,它是一个调度程序.每小时一次,我想弹出一个对话框并锁定屏幕两分钟,以便休息一下. 到目前为止,我的应用程序只是在“TopMost”上显示一个表单,它的时间是两分钟后打破并隐藏它. 我怎样才能锁定屏幕?类似于Vista中的UAC风格. 解
我只写了我的第一个C#应用程序,它是一个调度程序.每小时一次,我想弹出一个对话框并锁定屏幕两分钟,以便休息一下.
到目前为止,我的应用程序只是在“TopMost”上显示一个表单,它的时间是两分钟后打破并隐藏它. 我怎样才能锁定屏幕?类似于Vista中的UAC风格. 解决方法
作为屏幕抓取的替代方法(我在过去稍微不同的情况下也将其用作方法),您也可以通过创建一个全屏并在所有其他窗口之上的新窗口(WinForm)来实现此目的. .
如果您将窗口背景颜色设置为纯黑色,然后将不透明度设置为70-80%,您将获得类似于UAC提示的内容. 例如 formName.WindowState = FormWindowState.Maximized; formName.FormBorderStyle = FormBorderStyle.None; formName.Opacity = 0.70; formName.TopMost = true; 当然,在此基础上绘制一个窗口是明智的,通过计数器告知用户屏幕为何变暗. 使用看起来像UAC提示(人们习惯于看到)的东西,根本没有让人们三思而后行,这取决于用例. 与屏幕抓取方法一样,它本身并不会阻止用户通过使用Windows键,Alt-Tab或Ctrl-Esc来启动“开始”菜单或切换到其他任务来绕过它. 禁用内置键命令需要设置与Windows热键相关的注册表项,并且有点棘手(我认为它需要重新启动,无法动态切换). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- c# – 无法通过IHttpAsyncHandler发送文件
- cocos2dx ActionTimeline setLastFrameCallFunc
- c# – IQueryable没有Count()?
- ruby-on-rails – 可以在Rails中查看调用一些模型
- ios – 应用程序从App Store下载但在测试时没有崩
- c# – 使用CompileAssemblyFromSource加载自定义
- react-native – React Native – 动态更改tabna
- 正则扩展学习
- ruby-on-rails – Rails Migration Change vs Up
- C++ swap函数模板及其用法
热点阅读