2022-04-06 18:28:38 +08:00
|
|
|
# Windows Specifics
|
2017-10-02 19:17:41 +08:00
|
|
|
|
2022-04-06 05:04:31 +08:00
|
|
|
## Setting the foreground window
|
2017-10-02 19:17:41 +08:00
|
|
|
|
|
|
|
In the `instanceStarted()` example in the `README` we demonstrated how an
|
|
|
|
application can bring it's primary instance window whenever a second copy
|
|
|
|
of the application is started.
|
|
|
|
|
|
|
|
On Windows the ability to bring the application windows to the foreground is
|
2023-03-13 15:46:13 +08:00
|
|
|
restricted, see [AllowSetForegroundWindow()](https://msdn.microsoft.com/en-us/library/windows/desktop/ms632668.aspx) for more details.
|
2017-10-02 19:17:41 +08:00
|
|
|
|
|
|
|
The background process (the primary instance) can bring its windows to the
|
|
|
|
foreground if it is allowed by the current foreground process (the secondary
|
|
|
|
instance). To bypass this `SingleApplication` must be initialized with the
|
2023-03-13 15:36:59 +08:00
|
|
|
`allowSecondary` parameter set to `true` .
|
|
|
|
|
|
|
|
If the widget is minimized to Windows task bar, `QWidget::raise()` or
|
|
|
|
`QWidget::show()` can not bring it to the front, you have to use Windows API
|
|
|
|
`ShowWindow()` .
|
2017-10-02 19:17:41 +08:00
|
|
|
|
2023-03-14 22:06:50 +08:00
|
|
|
You can find [demo code](examples/windows_raise_widget/main.cpp) in the examples directory.
|