Using Windows 7 Aero to dim or add a color hue to the whole desktop or a specific window - windows

I would like to apply a light greenish or reddish hue to the entire desktop or select application windows using Windows 7 Aero.
Assuming this is this possible with Aero, is it possible with it so I could potentially port my application to XP?

You'd have a create a window that sits on top of the other windows you wish to dim/hue. This window would use the Aero API calls to enable transparency.
For XP, you'd have to copy the contents of the screen to a bitmap, process the bitmap to make it look like you want, and create a window over the top of the other windows showing that bitmap. This technique would also work under Windows 7, but would not allow changes to any underlying windows to show through.

Related

Programmatically open image full-screen in Windows 10

I'm trying to programmatically open an image from a folder and have it completely fill the screen, and it seems the only way to have an image completely fill the screen is to click the Slideshow button in Windows Photo Viewer and pause the slideshow. However, in Windows 10 it isn't even possible to programmatically open an image (at least, not via the command line, using either Windows Photo Viewer or Photos), let alone paused in slideshow mode.
If not the command-line, are there any other good programmatic solutions for what I want to do?
Hashim - You could quite easily write an app for this using open Lazarus.

Get flashing window in delphi (window that needs focus and windows won't set it to front)

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?

Is there a Mac/Xcode equivalent to the Windows Workarea?

I am creating a toolbar on Windows that is being ported over to the Mac, is there such a concept as a workarea on the Mac, like there is on Windows.
If you are unfamiliar of what the workarea on Windows is, it is basically a defined space that all open windows can re-size in. Meaning normally you can re-size your windows to fill the whole screen, but if I change the workarea to a smaller size when you try to maximize your open windows they will stop at the boundaries of the new workarea. For example the Windows taskbar does this. If you move your windows taskbar up or down, then this affects how much space you have left for open windows to utilize, the taskbar is changing your workarea dimensions.
Windows uses the following function SystemParametersInfo with SPI_SETWORKAREA passed into to change the size of a workarea. Is there an equivalent to this on the Mac?
Thanks.
Yes, there is a mechanism in OS X to keep maximized windows from overlapping the Dock. Look at NSScreen's -visibleFrame method.

How to hide a window in Windows 7, just like desktop managers do

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.

How do I get the size of all windows on the screen in windows 7?

I am trying to write a program that gets the windows that are displayed on the screen. Something like screen.getActiveWindow().size would be cool, but it only addresses the active window.
I am looking for the sizes of all windows on the screen, as well as event information when they are resized, cover each other up.
Am I just daydreaming or is there a way to get this information on windows?
You need to use EnumWindow Function go get the hwnd of each window then user EnumChildWindow to get the child windows and finally get windowinfo the clr doesn't have all of the necessary function to do low level window manipulation unless its been added in 4.0 and I haven't noticed.

Resources