Show as vista background

hi guys and girls

i`m searching for a possibility to put a flashfile onto the vistadesktop in a non-ultimate vistaversion. (fullscreen and always on back)

didnt find anything because the activedesktop from xp is only in the ultimate version.

do anyone no a way/application to solve this prob?

thx

aeon

#484859

does nobody knows anything about it?

#484927

Would you mind not having desktop icons?

If you can live without them, then sure it can be done ;)

#484930

There is no active desktop in ultimate neither. If you searching for a dreamscene clone, look here: http://www.desktopfx.net

#484958

DeskScapes 2 will allow dreams to run on all versions of Vista.

#484993

thx for the answers :)

no, i`m not looking for something like dreamscene. i just like to put a flash-file into the background as a wallpaper.

@ matonga: ok, it would be nice if the user can go on using his icons, but if there is no posssible way, i can live without it :)

i have no knowledge about c#. so can u give me a hint how it will be done or what i have to search for.

thx@all

#485017

by the way...while searching for a solution, i found a way to get the screensavers from vista running as a backround. you had to start it from the cmd with some special parameters (some kind of /p) and the number of the desktopframe (56662 i think)

it goes in the direction i want, but you saw the screensaverwindow in the windows-task-line (i dont know the name in english). this thing on the bottom (standard) with start, clock,etc :)

is there a way to specialize this way for my needs?

#485018

no?

#485181

You mean the windows "task bar".

Wow!!! nice hack, you are using the screensaver's preview mode to put it inside the desktop window!

What I was going to suggest is to make an app that uses SetWindowPos (HWND_BOTTOMMOST, ...) on it's own window, however in C# I don't know how this would be done (without using Interop to use the API SetWindowPos call).

For a window not to appear in the task bar, you must change it's extended style:

style = GetWindowLong (window, GWL_EXSTYLE);

style = style & ~(WS_EX_APPWINDOW);

style = style | WS_EX_TOOLWINDOW;

SetWindowLong (window, GWL_EXSTYLE, style);

So, you get the window current style, remove the AppWindow attribute, put instead the ToolWindow attribute (this hides the window from the taskbar, but it doesn't hide the window itself) and sets this new style on to the window.

Hope this helps.

Oh, I think there is some app mentioned in another thread, whose purpose is specifically to hide apps from the taskbar, if I see it again I post it here.

#485210

In C# it's a simple form call of SendToBack(). Also, if it's being done in C#, to hide it from the taskbar simply set ShowInTaskbar to false on the form. You'd also want to set its parent to that of the desktop by P/Invoking the GetShellWindow() using:

[DllImport("user32.dll")]
private static extern IntPtr GetShellWindow();

and passing this handle to the SetParent() API like this:

[DllImport("user32.dll")]
static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);

SetParent(this.Handle, GetShellWindow());

I'm not sure if this all still applies to Vista - I've heard they changed a couple API calls - so this might not work but it's how I do it in XP and it gives a good idea of how it can be done at least.

#485225