I would like to completely remove the Windows 7 taskbar, including tray and start-button, so that the user can not reactivate it by pressing the Windows-key on the keyboard. however, all other explorer functionality (i.e. starting an explorer Window using Windows+E) should remain.
Is it possible to permanently hide the complete taskbar? Maybe there are some registry values on could change in order to make that behaviour selectable using a powershell script?
Thanks a lot
Here be my solution (it hides rather than replaces or removes the native taskbar - this allows it to work with programs that have a dependency on the native taskbar, such as display fusions taskbar).
disable-taskbar-always-top
Still to solve: [HALF SOLVED]
Eliminate the stupid line that auto-hide leaves with some maximized applications, such as Google Chrome
HALF SOLUTION -
If you move the taskbar to the left or right edge prior to doing the above steps, you don't get the stupid auto-hide line at the top or bottom of Google Chrome. Since the native taskbar is not mouse sensitive anymore, it won't impact your use of hot corners, or multi monitors (for instance I have the native taskbar on the left of my middle monitor, and it does not popup when moving between monitors using the steps in this post).
Okay, I think I have finally - finally - got a workaround that:
Keeps the native Windows 7/8 taskbar hidden for your session (you do have a couple of steps you need to do on start-up each time, or if you manually un-hide the taskbar).
Prevents the native Windows 7/8 taskbar from opening with popups or programs seeking attention (flashing taskbar thing).
Prevents the native taskbar from being mouse sensitive (i.e. despite auto-hide, it will not appear when you mouse over the hidden taskbar anymore).
Allows you to use the screen area that is occupied by the native taskbar (this is the problem of not combining Taskbar-Hide with the autohide setting; you can't use that screen real-estate).
Allows you to run alternative taskbars that are dependent on keeping the native taskbar functional (for instance Dislay Fusions Multi-Monitor Taskbar + [Settings >> Advanced Settings ?> 'Show On All Montiors'])
One Time Steps:
1) Download and run this registry edit to prevent balloon notification popups from the native taskbar/system tray:
Notifications - Enable or Disable Message Balloons - Windows 7 Help Forums
(You can open this in notepad to see what changes it will make prior to installing it, if you want).
2) Download and run Taskbar-Hide from here:
Hide Taskbar: Hide Taskbar in Windows 8 | 7 with a hotkey
3) Set the taskbar to auto-hide
Optional:
3) B) Add a shortcut to Taskbar-Hide.exe in your startup folder, to have it launch automatically with windows on startup (you still need to use the Ctrl+Esc hotkeys to activate the functions of taskbar-hide - though you could also script this if you were really keen).
Startup Folder:
C:\Users{User Name}\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
Steps to hide taskbar after each start-up or manually un-hiding using Taskbar-Hide
4) Make sure Taskbar-Hide is running.
5) Make sure the taskbar is in its auto-hide state (i.e. you'll have to look at any programs that are currently seeking attention).
6) Once the taskbar is 'auto-hidden', press the hotkeys for Taskbar-Hide (Ctrl+Esc)
[This should mean that the native taskbar area is no longer sensitive to mouse activity]
One way is to replace the explorer shell with your own shell. This is the a common method done in Windows 7 Embedded.
In older versions of Windows (such as XP) it was possible to specifiy a shell for each user via regedit. I am not sure this is easily possible in Windows 7.
See https://superuser.com/questions/352865/how-do-i-change-the-windows-shell-for-only-one-user
Make an empty exe file and use it as the file to use in your "Custom User Interface" group policy. Additional information here.
I have found another solution that works nearly perfect for me, by just hiding the Taskbar and the Start button by simply sending both the WM_HIDE message:
Handle = FindWindow("Shell_TrayWnd", "");
...
ShowWindow(Handle, SW_SHOW);
The only problem I have with that solution is that the taskbar is not hidden permanently, i.e. as soon as one element is activated that does not have the focus, which on the taskbar leads to the item flashing in yellow, the taskbar gets visible again.
I'm not sure if there is a way to prevent Windows from re-enabling the visible flag of the taskbar in some way, or a method to hook to the SW_SHOW in C# though.
Related
Is there any way to place the taksbar icons of all the open apps in Windows 8.1 next to each other automatically?
Say I open an app whose icon is on the far left, next to the start button, and I want said icon to appear to move to the far right of my string of icons, next to all my other open programs, automatically.
Is there any way to do that?
Do you mean, for applications that you have already pinned to the taskbar, you want them to move over to the end of the line of open programs? I don't think it is possible to set this option automatically. However, you can manually move them to where-ever and they will remain pinned. For other taskbar settings, just search Taskbar and the settings box will come up.
I was searching on internet how to enable "auto-switch" or "auto-raise" window that has flashing button on taskbar in Windows 7,
and all I can find is how to disable that! I need just opposit, to enable that so i looked at that answers and found registry key
ForegroundLockTimeout. It is set to 200000ms by default i think, so i set it to 1ms, but that doesn't affect anything after Windows XP I guess..
I found that it used to be possible to enable auto switching in Tweak UI from Microsoft, but that doesn't seems to work on Win 7 either.
I tried to program that in Delphi and I can set window on top with SetForegroundWindow, but i can't detect which windows need attention - are flashing.
It is even possible to detect foreground window with GetForegroundWindow, but not window that is flashing so i could set it on top.
So my question is, is it possible in delphi to get hwnd of that window that needs focus in background?
Sometimes when dragging a window around on the Windows 7 desktop, all of my other open windows will suddenly minimize. I can go to the task bar and reopen them, one by one, but is there a way to get them all back at once? And is there a way to turn off this annoying behaviour?
Thanks.
That will be Aero Shake.
You can shake the window that you were moving and your windows will be restored.
You can also disable Aero Shake, following instructions here:
Go to Run (Windows+R) and type gpedit.msc
Navigate to User configuration > Administratives Templates > Desktop
Search for "Turn off Aero Shake window minimizing mouse gesture" and enable the policy.
If you shake a window (left-right rapidly or another direction) then it minimizes all windows except that one. To get them back, shake the first window again.
This is what worked for me.
Open Windows Explorer.
Maximize and close it with Shift pressed.
Windows Explorer should open maximized.
We have a windows app, written several years ago and maintained over time. We do not have any specific code to handle any Windows 7 UI features. Just plain old Winforms and WPF. We are seeing issues with closing windows using the Taskbar's preview and close button.
On some workstations, when the window is re-opened (calling the same tool via a menu), it is empty (white/blank). On other workstations, the same window is drawn outside the screen.
While there might be some custom code to initialize the window and restore it in the right location, what is troubling us is that none of those issues exist if we close the window using the standard close button on the title bar or using a "close" command.
Does anybody have any idea what is different between the closing of a window using the Taskbar and the standard button?
Regards,
Eric.
When I install a virtual desktop manager on Windows 7, and I switch to a different virtual desktop, all the current windows disappear, also disappearing from the Start Menu.
I want to hide some of a particular application's windows, but not all of them, in a similar manner. How can I hide a window like this?
In particular, I need to hide a VirtualBox Seamless mode window, so I'm not sure minimizing the window will work. It does, however, disappear when using virtual desktop managers.
The same window cannot appear on multiple desktops. If you need your application window to appear on multiple desktops you need to create a separate window for each desktop. The desktop a window appears on depends on the thread that creates the window. You can change the desktop thread assignment using the SetThreadDesktop function.
The answer is simply ShowWindow(SW_HIDE) and ShowWindow(SW_SHOW). I think "Virtual Desktop Managers" just hide windows and show them as necessary when the desktops change.