In my C++ application, I have the following code:
ShowWindow(hDlg, SW_HIDE);
MakeScreenshot();
ShowWindow(hDlg, SW_SHOW);
This should capture screenshot of screen WITHOUT the current application window. However there is a problem. The SW_HIDE takes some time because my windows 8.1 is configured to use Animation effects. So the hiding of window takes about 400 miliseconds and if screenshot is captured during this interval (which it is), it will contain also the window of the app itself, which I do not like.
Is there any way to hide the current window instantly, so it won't be included in the create screenshot function, which is called immediately after it? If not, is there any other preferred way how to take screenshot of windows desktop excluding the application itself? Adding a delay before the MakeScreenshot is not any good solution. Thank you.