ConsoleControl 함수
콘솔 호스트 애플리케이션에 대한 특수 커널 작업을 수행합니다. 여기에는 콘솔 창을 재분석하고 콘솔이 시작된 콘솔 하위 시스템 애플리케이션에 대한 포그라운드 권한을 전달할 수 있도록 하고 연결된 프로세스를 종료하는 것이 포함됩니다.
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
);
명령 [in]
CONSOLECONTROL
실행해야 하는 콘솔 제어 함수를 나타내는 값 중 하나입니다.
ConsoleInformation [in]
요청된 콘솔 제어 함수에 CONSOLEENDTASK
CONSOLEWINDOWOWNER
대한 추가 데이터를 지정하는 구조체 CONSOLESETFOREGROUND
또는 중 하나에 대한 포인터입니다.
ConsoleInformationLength [in]
ConsoleInformation 매개 변수가 가리키는 구조체의 크기입니다 .
함수가 성공하는 경우 반환 값은 STATUS_SUCCESS
입니다.
함수가 실패하면 반환 값은 실패 이유를 나타내는 값입니다 NTSTATUS
.
이 함수는 SDK 헤더에 정의되어 있지 않으며 호출자가 선언해야 합니다. 이 함수는 user32.dll에서 내보냅니다.
각 명령에는 매개 변수에 대해 다른 구조체가 ConsoleInformation
예상됩니다.
ConsoleNotifyConsoleApplication
: a에 대한 포인터를 예상합니다.CONSOLE_PROCESS_INFO
ConsoleSetCaretInfo
: a에 대한 포인터를 예상합니다.CONSOLE_CARET_INFO
ConsoleSetForeground
: a에 대한 포인터를 예상합니다.CONSOLESETFOREGROUND
ConsoleSetWindowOwner
: a에 대한 포인터를 예상합니다.CONSOLEWINDOWOWNER
ConsoleEndTask
: a에 대한 포인터를 예상합니다.CONSOLEENDTASK
지원되는 최소 클라이언트 | Windows 7 [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 R2 [데스크톱 앱만 해당] |
헤더 | 없음, 설명 참조 |
라이브러리 | 없음, 설명 참조 |
DLL | User32.dll |