.net中的透明屏幕保护程序 [英] Transparent screensaver in .net

查看:84
本文介绍了.net中的透明屏幕保护程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述





我被要求做这样的事情: http://www.e-motional.com/TScreenLock.htm [ ^ ]。我们的想法是让Windows锁定以进行交互,但要查看桌面,因为它不会被锁定(具有实时视图)。当用户执行任何鼠标或键盘事件时,它会要求提供凭据。

制作透明的屏幕保护程序看起来很简单。我做到了。只要它不是由系统本身启动,就像魅力一样。此时所有应用程序窗口都会消失,只有窗口背景在下面可见。



如果仍然对Windows 7有效,其他 [ ^ ]声明,ScreenSavers在自己的桌面上运行。



有没有办法克服这个问题?

谢谢。

Hi,

I was requested to make something like this: http://www.e-motional.com/TScreenLock.htm[^]. The idea is to have Windows locked for interactions but to see the desktop as it would not be locked (have a live view). When user does any mouse or keyboard event, it sohuld ask for credentials.
It looks straightforward to make a transparent screensaver. I made it. Works like a charm as long as it is not started by the system itself. At that point all application windows disappear and only the windows background is visible below.

If still valid for Windows 7, here[^] is stated, that ScreenSavers run on their own desktop.

Is there any way to overcome this?
Thank you.

推荐答案

这个是纯粹的猜测。我没试过。



由于你的屏幕保护程序在它自己的桌面上运行 - 你需要一种方法来连接到真正的桌面并制作一个要在屏幕保护程序中显示的像素副本。



https://msdn.microsoft.com/en-us/library/windows/desktop/ms687107%28v=vs.85%29.aspx [ ^ ]



如果真实桌面图像经常更新 - 您可能需要轮询像素更改。



也可以告诉Windows切换回真实桌面。
This is pure speculation. I've not tried it.

Since your screen saver runs on it's own desktop - you'll need a way to attach to the "real" desktop and make a copy of the pixels to display in your screen saver.

https://msdn.microsoft.com/en-us/library/windows/desktop/ms687107%28v=vs.85%29.aspx[^]

If the real desktop image is updated frequently - you may need to poll for pixel changes.

It might also be possible to tell Windows to switch back to the real desktop.


这篇关于.net中的透明屏幕保护程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆