Hello Ramesh,
My situation is different. I don't use code that makes the taskbar
transparent when inactive (which is a good idea). I don't monitor mouse
state too. Maybe I can do this in a future variant, but first I'll have to
study a little more VS C++ and C#
That means only the classes and Windows OS architecture. I know the scripts.
Instead a call is made to Hide() the window. It will no longer receive mouse
events until I call the Show() method to display the window.
This is not a problem for me, because I have the CoolSwitch powertoy
installed for ALT+TAB and the Win key will display the Start Menu.
I made some experiments with a C# application. The Opacity property of
windows seems to be a good option. I can set Opacity = 0 and the window will
completely disappear, continuing to receive mouse events. As You said there
will be 2 px occupied by it, but the background will be visible and that's
what I want. If the colour is (16, 0, 16) the video card will replace it
with the video stream. I only have to learn how to get a handle to the
taskbar window in C++ or C#.
When I hide the taskbar, I see only two things on my screen:
1. Video desktop
2. Mouse pointer
So I created a repainted cursor with colour (16, 0, 16). This colour is used
by the TV program for video overlay. Now I can work normally with all
programs and when I point onto the video desktop the mouse pointer will
disappear
Exactly what I need!
What call should I make to switch between two cursors or two cursor schemes.
I have (normal.cur) and (tv.cur), (gScheme) and (TVscheme)? VS C++ or C#
again.
George Valkov
George,
It still does not clear the space occupied by Taskbar window (isn't it?)
There will be a blank space at the bottom (in place of the taskbar)
--
FindWindow("Shell_traywnd", "")
SetWindowPos(rtn, 0, 0, 0, 0, 0, SWP_HIDEWINDOW)
--
--
Ramesh - Microsoft MVP
Windows XP Shell/User
http://www.mvps.org/sramesh2k
AumHa VSOP:
http://www.aumha.org
I found that I can use the Hide method for any window. And Because the
Taskbar is nothing but a window, I can call the Hide / Show methods for it:
Class Name: Shell_TrayWnd
Executable: explorer.exe
Now I can enjoy my Video desktop at its full glance!
It even works from my Infra-red remote control unit.
Now I can also clean the taskbar from all windows that only take space in
it.
Example: Media Player is accessed very rarely, but takes space in the
taskbar. Now I can simply hide the window and it continues to play music in
the background.
Cheers!
George Valkov