[Interest] Screen capture in fullscreen under Windows

Jérôme Godbout jerome at bodycad.com
Wed Jul 8 18:35:59 CEST 2015


I managed to find a solution for the focus and taskbar problems, you need
to give the following flags to make it work properly (which avoid keyboard
focus problems and keep the window into the taskbar):

| Qt::FramelessWindowHint | Qt::WindowSystemMenuHint |
Qt::WindowMinMaxButtonsHint

The fullscreen is still a problem, this mostly work if I auto hide the
taskbar, I end up with 1-2 pixel at the bottom of the screen that are OS
related (Taskbar top). The frameless on second screen is still a problem
too. It's not perfect, but it does the job for now.

On Wed, Jul 8, 2015 at 11:15 AM, Jérôme Godbout <jerome at bodycad.com> wrote:

> Another interesting fact, printscreen too doesn't work while application
> is in fullscreen.
>
> On Wed, Jul 8, 2015 at 11:07 AM, Jérôme Godbout <jerome at bodycad.com>
> wrote:
>
>> Hi,
>> I'm trying to capture some video for demo and training purpose, but I
>> cannot get the screen capture for any third party apps to work while my
>> application is in fullscreen (under Windows 7). We use a QMainWindow with
>> QQuickView inside it.
>>
>> I end up with the first frame captured and if like nothing ever get
>> repaint into the capture (on screen it's ok).
>>
>> Since I couldn't get it to work, I tried to put the Window
>> with Qt::FramelessWindowHint to see. Look like it hide the window, I try to
>> show() and Qt::WindowMaximized.
>>
>> I always end up with bad positioning and not maximized window of my
>> window no matter how many or in any order I request them.
>>
>> I also try to combined the Qt::FramelessWindowHint | Qt::Tool to get it
>> to work with not much success.
>>
>> The only way I could get a frameless window take all available space, was
>> to put it frameless, go full screen and exit fullscreen. It work, the mouse
>> click work but I loose keyboard focus forever and cannot use the keyboard
>> anymore inside the application (even alt-tab and ctrl-tab on OS level stop
>> working!), have to invoke the TaskManager to get out it.
>>
>> Anybody have a good way to capture an application in full screen?
>>
>> Side note:
>> Qt::FramelessWindowHint make the window use primary screen resolution no
>> matter on which screen it is (I have my 1st as landscape screen and a 2nd
>> as portrait one, if I do frameless on 2nd screen the render is done with
>> 1st screen resolution, fullscreen work ok under this situation).
>>
>> Jerome
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20150708/b4dfb1d2/attachment.html>


More information about the Interest mailing list