This commit implements Win+<number>, Win+Shift+<number>,
Win+Shift+Ctrl+<number> and Win+Alt+<number> hotkeys.
These hotkeys activate Nth task on the taskbar.
CORE-20781
Implement the following Drag&Drop functions:
- DAD_DragEnter
- DAD_DragEnterEx
- DAD_DragMove
- DAD_DragLeave
- DAD_SetDragImage
- DAD_ShowDragImage
Change the parameters to SAL2 and update header declarations in undocshell.h (ones that are there).
Also add Doxygen documentation.
Rename PspShutdownProcessManager to PsShutdownSystem so that it's consistent with the other shutdown related kernel routines.
This is gonna be used by the Power Manager as it shutdowns every Executive module of the kernel during a shutdown procedure of the system.
CORE-18969
Add the missing configuration step dependency on the linker script.
Addendum to commit 1b473cbeee.
To restate the problem happening when building using MSBuild:
> MSBuild (and the VS IDE) uses response files when invoking CL or LINK.
> We cannot specify a custom response file on the linker command-line,
> because it would instead be included in the MSBuild's auto-generated
> response file, which does not support this.
> We therefore make the configuration step depend on the linker script
> and pre-process it during configuration, so as to retrieve the custom
> linker options that will be appended to the linker command-line.
- Group both ASM and C files generation into a single `add_custom_command()` step.
- Adjust the name of the `_generated_file` variable for code readability.
CORE-20236
The `add_custom_command(TARGET ...)` variation of the CMake function,
does not support a `DEPENDS` option to specify the path to the input
file used for generating a linker response file.
Ensure instead that the associated build target _depends_ on that file,
so that when it is changed, the target is rebuilt and the
`add_custom_command(TARGET ...)` is automatically invoked.
(As an alternative, `add_custom_command(OUTPUT ...)` *does* support
`DEPENDS`, see the lines tagged "#Alt".)
This fixes the following CMake warning in more recent CMake versions:
```
CMake Warning (policy) at sdk/cmake/msvc.cmake:591 (add_custom_command):
The following keywords are not supported when using
add_custom_command(TARGET): DEPENDS.
Policy CMP0175 is not set: add_custom_command() rejects invalid arguments.
Run "cmake --help-policy CMP0175" for policy details. Use the cmake_policy
command to set the policy and suppress this warning.
```
Addendum to commits ed83552229 (PR #1224) and 7d0cd6e937.
Dedicated to Timo Kreuzer!
Update the volume tray icon with WinMM message designed specifically for that, see
https://learn.microsoft.com/en-us/windows/win32/multimedia/mm-mixm-line-change .
- Finalize mixer handle obtaining and make use of it, following the Explorer implementation.
- Slightly purge timer-based code unaffecting the already existing crutchy implementation.
Note that the backup crutch of timer-based updating is still partially here, but ready
to be yanked once CORE-20778 is fixed.
- Update the copyright preamble.
* [SDK][USP10] Import new functions from WINE 11.17
* [WINETEST:USP10] Sync to WINE-11.17
* [USP10] Sync with WINE-11.17
WINE 5.21 merged USP10 with GDI32, this PR doesn't import this change.
Except for LpkPresent implementation, every other patch made by ReactOS were synced to the upstream.
A sync was requested for fixing the issue in CORE-17324 but the issue is still reproducible even after syncing to WINE-11.17.
This allows any ISO (nightly, etc.) to perform unattended installations
without having to manually rebuild the ISO with your modified unattend.inf
file. Instead, you simply need to place your custom unattend.inf file
at the root of any drive in the machine (and with a special value set
in this .inf to enable this feature).
Notes:
- It tries to use `QueryDosDeviceW` if kernel32.dll is loaded (GUI setup),
so that the drive map matches the existing user logon session. If not
available, it emulates a simplified version of `QueryDosDeviceW` which
should be enough when booted directly into phase-1 setup.
- The unattend.inf file lookup algorithm goes as follows:
Find first the default unattend.inf file on the installation media.
If it specifies an unattended setup, we have found it.
Otherwise, the default unattend.inf file does not exist, or does not
enable an unattended setup. Check all DOS drives, removable first, then
fixed, for an alternative unattend.inf that enables unattended setup.
If we find one, use it; otherwise, return the default unattend.inf path.
Co-authored-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>