ConsoleControl-Funktion
Führt spezielle Kernelvorgänge für Konsolenhostanwendungen aus. Dies umfasst die Analyse des Konsolenfensters, sodass die Konsole Vordergrundrechte an gestartete Konsolensubsystemanwendungen übergeben und angefügte Prozesse beendet.
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
);
Befehl [in]
Einer der Werte, der CONSOLECONTROL
angibt, welche Konsolensteuerelementfunktion ausgeführt werden soll.
ConsoleInformation [in]
Ein Zeiger auf einen der CONSOLEENDTASK
, CONSOLEWINDOWOWNER
oder CONSOLESETFOREGROUND
Strukturen, die zusätzliche Daten für die angeforderte Konsolensteuerungsfunktion angeben.
ConsoleInformationLength [in]
Die Größe der Struktur, auf die der Parameter "ConsoleInformation " verweist.
Wenn die Funktion erfolgreich ist, lautet der Rückgabewert STATUS_SUCCESS
(0).
Wenn die Funktion fehlschlägt, ist der Rückgabewert ein NTSTATUS
Hinweis auf den Grund für den Fehler.
Diese Funktion ist nicht in einem SDK-Header definiert und muss vom Aufrufer deklariert werden. Diese Funktion wird aus user32.dll exportiert.
Jeder Befehl erwartet eine andere Struktur für den ConsoleInformation
Parameter.
ConsoleNotifyConsoleApplication
: erwartet einen Zeiger auf einenCONSOLE_PROCESS_INFO
ConsoleSetCaretInfo
: erwartet einen Zeiger auf einenCONSOLE_CARET_INFO
ConsoleSetForeground
: erwartet einen Zeiger auf einenCONSOLESETFOREGROUND
ConsoleSetWindowOwner
: erwartet einen Zeiger auf einenCONSOLEWINDOWOWNER
ConsoleEndTask
: erwartet einen Zeiger auf einenCONSOLEENDTASK
Unterstützte Mindestversion (Client) | Windows 7 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 R2 [nur Desktop-Apps] |
Header | keine, siehe Hinweise |
Bibliothek | keine, siehe Hinweise |
DLL | User32.dll |