Fonction ConsoleControl
Effectue des opérations de noyau spéciales pour les applications hôtes de console. Cela inclut le reparentage de la fenêtre de console, ce qui permet à la console de transférer les droits de premier plan sur les applications du sous-système de console lancées et de terminer les processus attachés.
typedef enum _CONSOLECONTROL
{
Reserved1,
ConsoleNotifyConsoleApplication,
Reserved2,
ConsoleSetCaretInfo,
Reserved3,
ConsoleSetForeground,
ConsoleSetWindowOwner,
ConsoleEndTask,
} CONSOLECONTROL;
typedef struct _CONSOLEENDTASK
{
HANDLE ProcessId;
HWND hwnd;
ULONG ConsoleEventCode;
ULONG ConsoleFlags;
} CONSOLEENDTASK, *PCONSOLEENDTASK;
typedef struct _CONSOLEWINDOWOWNER
{
HWND hwnd;
ULONG ProcessId;
ULONG ThreadId;
} CONSOLEWINDOWOWNER, *PCONSOLEWINDOWOWNER;
typedef struct _CONSOLESETFOREGROUND
{
HANDLE hProcess;
BOOL bForeground;
} CONSOLESETFOREGROUND, *PCONSOLESETFOREGROUND;
typedef struct _CONSOLE_PROCESS_INFO
{
IN DWORD dwProcessID;
IN DWORD dwFlags;
} CONSOLE_PROCESS_INFO, *PCONSOLE_PROCESS_INFO;
typedef struct _CONSOLE_CARET_INFO
{
IN HWND hwnd;
IN RECT rc;
} CONSOLE_CARET_INFO, *PCONSOLE_CARET_INFO;
NTSTATUS ConsoleControl(
_In_ CONSOLECONTROL Command,
_In_reads_bytes_(ConsoleInformationLength) PVOID ConsoleInformation,
_In_ DWORD ConsoleInformationLength
);
Command [entrée]
Une des valeurs CONSOLECONTROL
indiquant la fonction de contrôle de console à exécuter.
ConsoleInformation [entrée]
Un pointeur vers l’une des structures CONSOLEENDTASK
, CONSOLEWINDOWOWNER
, ou CONSOLESETFOREGROUND
spécifiant des données supplémentaires pour la fonction de contrôle de la console demandée.
ConsoleInformationLength [entrée]
La taille de la structure pointée par le paramètre ConsoleInformation.
Si la fonction aboutit, la valeur renvoyée est STATUS_SUCCESS
.
Si la fonction échoue, la valeur renvoyée est NTSTATUS
, indiquant la raison de l’échec.
Cette fonction n’est pas définie dans un en-tête du Kit de développement logiciel (SDK) et doit être déclarée par l’appelant. Cette fonction est exportée à partir de user32.dll.
Chaque commande attend un struct différent pour le paramètre ConsoleInformation
.
ConsoleNotifyConsoleApplication
: attend un pointeur vers un(e)CONSOLE_PROCESS_INFO
ConsoleSetCaretInfo
: attend un pointeur vers un(e)CONSOLE_CARET_INFO
ConsoleSetForeground
: attend un pointeur vers un(e)CONSOLESETFOREGROUND
ConsoleSetWindowOwner
: attend un pointeur vers un(e)CONSOLEWINDOWOWNER
ConsoleEndTask
: attend un pointeur vers un(e)CONSOLEENDTASK
Client minimal pris en charge | Windows 7 [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 R2 [applications de bureau uniquement] |
En-tête | aucun, consulter les remarques |
Bibliothèque | aucun, consulter les remarques |
DLL | User32.dll |