Seeing some recent threads on Dreamscene for Vista Ultimate, I got to thinking that it would be easy to recreate Dreamscene using the core code for my Video in Picture application. I could already display video in a borderless container and I can make it transparent to all input. All I needed was to send my application window to be in front of the desktop background but beneath the desktop icons.
I thought it would be so easy since I already know the functions to change window orders in C# and I also got the handle to the desktop icons that allow me to manipulate them. Well, I tried everything I know and then some from crawling the web for code. No matter what I did, I could not place my application window beneath the icons to fully replicate Dreamscene. Why are you keeping this functionality to yourself, Microsoft? Release an API to let people better manipulate the desktop icons.
Looking on the web, I see that there is workaround using Active Desktop if you have Windows XP or lower but we are using Vista here and Active Desktop no longer exists.
I think I have a couple more tricks I can pull before I'm out of ideas. The first is to try to see if I can capture all redraw events for the desktop background and replace it with my own window. The second is I want to see if people know how Microsoft coded Dreamscene.
-
-
Because they don't want people to reproduce it? They making an application especially for people who "bought" ultimate. They are not gonna make it easy so one can make it and distrute it to everyone else
-
That should be easy enough to do. Consider those apps that show realtime stats on your computer in the background. They obviously render to the background desktop on the fly.
Only trick is figuring out how. -
+1 for Ultimate. That's one reason to buy it.
-
That's no problem, I can code that. The problem is Microsoft broke the ability to put your application behind the desktop icons. Before, you could use RedrawWindow() with a flag for no redrawing of the background, but that has been broken in Vista for no good reason. -
My point is that those stats are also behind the desktop icons. (or are you saying that those apps don't work under Vista either?)
In any case, intercepting the redraw messages for the desktop is probably your best bet, yeah.
Looked into subclassing the desktop? (Might have to dip into native code for some of this)
As for figuring out how Dreamscene works, is it written in managed code? If so, tools like Reflector should get you a lot of the way (but you probably know this). For native, you could use Spy++ to at least see which Windows messages it uses. -
Vista Ultimate is the Ultimate Priced OS...
If u r a serious Windows user then u will realise VLC gives u a 3 times better Dreamscene for free.
Windows is all about being creative with available resource.
I have Vista Basic...and it has more features than Ultimate because i used all 3rd party stuff.
Thats the beauty of Windows.
P.S: My post is relevant to your Topic title but not your problem.as i am a Coding n00b
-
-
-
Dreamscene uses too much of my CPU. It consistently hangs around 30%. Thats unreasonable.
-
-
Oh you mean you'd rather have it idling otherwise so you can use it for something else.
I personally like wallpaper that is randomly changed. I use SexyDesktop Wallpaper Management Software from my favorite wallpaper site. -
I haven't found a way to intercept redraw messages for the desktop. Do you have some example code? Preferably in C#.
Since Dreamscene is proprietary, I have no idea if it is written in managed code or even what method they use. Even if it is managed code, I have Vista Premium so no Dreamscene for me.
For the other posters: I have tried lots of other Dreamscene clone software out there on my Vista Premium laptop and they all either don't work on Vista because of the problem I mentioned above or they work really crappy. For example, when you set VLC to desktop mode, it disables Aero and renders desktop icons really ugly. Like 16-bit ugly. If I get the issue of putting my program behind the desktop icons fixed, I will post it for free. It will be a much better solution than anything else that is free. -
-
I agree, it slow down everything.
-
ScuderiaConchiglia NBR Vaio Team Curmudgeon
Gary -
-
Its supposed to
Also, to the OP, there are plenty of tutorials of how to get Dreamscene on a non-Ultimate system. -
In any case, in native code at least, window subclassing is a well known technique for hooking into other windows and handling their messages, and as far as I can figure out, it should still work on Vista. -
I think microsoft should sell dreamscene unbundled, like for 5 or 10 bucks.
Why does Microsoft make it so difficult?
Discussion in 'Windows OS and Software' started by Bart Simpson, May 24, 2008.