I want to preprocess the look and feel of all the windows that are displayed on the desktopn. For this i would either need the swapchain of the entire desktop or the swapchain of all the windows on the desktop. So i was wondering if it was possible to get the swapchain of any window displayed on the desktop?
Related
Full screen metro application windows are not listed when using EnumWindows API (https://msdn.microsoft.com/en-us/library/windows/desktop/ms633497%28v=vs.85%29.aspx). Those windows are listed when in restored or maximized mode, but fails when in full screen mode. Note that all metro applications do not have a full screen mode. The application I tried was the gaming application named 3D Chess Game, and the call back function given in the EnumWindows API was not invoked for the 3D chess Game full screen window, while it was called for all other top level windows on screen.
What could be the reason for this behaviour? Is there an alternative way to enumerate through the full screen metro app windows?
Any help on this is appreciated.
Thanks in advance.
I don't know why EnumWindows not enumerate the full screen metro (UWP) apps, but if you know the window title, you can retrive its handle using FindWindow:
var hwnd = FindWindow(null, "Full screen window title");
If you don't know the title of the window or you want to enumerate all windows, regardless of their title, you have to call EnumChildWindows as explained in this answer.
I am trying to make window screenshot tool that can grab windows hidden in background. I know only one way to do this - through PrintWindow function, which fails for DirectX windows. So is it possible to detect that the window is rendered by DirectX and fail early?
I need to verify if my application window flashes in the windows taskbar.Is there anyway to do that in TestComplete?
Thanks
There is no a straightforward way to do this. The only thing I can suggest is to save an image of the taskbar item before it should start flashing and then compare the actual image with the saved image. If the images are different, the window caption is flashing.
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.
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.