ConsoleControl 関数
コンソール ホスト アプリケーションに対して特別なカーネル操作を実行します。 これには、コンソール ウィンドウの親の再指定、起動されたコンソール サブシステム アプリケーションへの前景権限の受け渡し、アタッチされたプロセスの終了が含まれます。
注: この関数には、関連付けられたインポート ライブラリはありません。 この関数は、User32.dll の ConsoleControl という名前のリソースとして使用できます。 User32.dll に動的にリンクするには、LoadLibrary 関数と GetProcAddress 関数を使用する必要があります。
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 [in]
実行する必要があるコンソール制御関数を示す CONSOLECONTROL
値の 1 つ。
ConsoleInformation [in]
要求されたコンソール制御関数の追加データを指定する CONSOLEENDTASK
、CONSOLEWINDOWOWNER
または CONSOLESETFOREGROUND
構造体の 1 つへのポインター。
ConsoleInformationLength [in]
ConsoleInformation パラメーターが指す構造体のサイズ。
関数が成功した場合、戻り値は STATUS_SUCCESS
です。
関数が失敗した場合、戻り値は失敗の理由を示す NTSTATUS
です。
この関数は SDK ヘッダーでは定義されていないため、呼び出し元が宣言する必要があります。 この関数は user32.dll からエクスポートされます。
各コマンドでは、ConsoleInformation
パラメーターに異なる構造体が必要です。
ConsoleNotifyConsoleApplication
:CONSOLE_PROCESS_INFO
へのポインターを予期するConsoleSetCaretInfo
:CONSOLE_CARET_INFO
へのポインターを予期するConsoleSetForeground
:CONSOLESETFOREGROUND
へのポインターを予期するConsoleSetWindowOwner
:CONSOLEWINDOWOWNER
へのポインターを予期するConsoleEndTask
:CONSOLEENDTASK
へのポインターを予期する
サポートされている最小のクライアント | Windows 7 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリのみ] |
Header | なし、注釈を参照 |
ライブラリ | なし、注釈を参照 |
[DLL] | User32.dll |