Fungsi ConsoleControl

Melakukan operasi kernel khusus untuk aplikasi host konsol. Ini termasuk membandingkan kembali jendela konsol, memungkinkan konsol untuk meneruskan hak latar depan ke aplikasi subsistem konsol yang diluncurkan dan mengakhiri proses yang terpasang.

Catatan Fungsi ini tidak memiliki pustaka impor terkait. Fungsi ini tersedia sebagai sumber daya bernama ConsoleControl di User32.dll. Anda harus menggunakan fungsi LoadLibrary dan GetProcAddress untuk menautkan secara dinamis ke User32.dll.

Sintaks


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
);

Parameter

Perintah [in]
Salah satu nilai yang CONSOLECONTROL menunjukkan fungsi kontrol konsol mana yang harus dijalankan.

ConsoleInformation [in]
Penunjuk ke salah CONSOLEENDTASKsatu struktur , , CONSOLEWINDOWOWNERatau CONSOLESETFOREGROUND yang menentukan data tambahan untuk fungsi kontrol konsol yang diminta.

ConsoleInformationLength [in]
Ukuran struktur yang ditujukkan oleh parameter ConsoleInformation .

Nilai hasil

Jika fungsi berhasil, nilai yang dikembalikan adalah STATUS_SUCCESS.

Jika fungsi gagal, nilai pengembalian adalah yang NTSTATUS menunjukkan alasan kegagalan.

Keterangan

Fungsi ini tidak ditentukan dalam header SDK dan harus dideklarasikan oleh pemanggil. Fungsi ini diekspor dari user32.dll.

Setiap perintah mengharapkan struct yang berbeda untuk ConsoleInformation parameter .

  • ConsoleNotifyConsoleApplication: mengharapkan penunjuk ke CONSOLE_PROCESS_INFO
  • ConsoleSetCaretInfo: mengharapkan penunjuk ke CONSOLE_CARET_INFO
  • ConsoleSetForeground: mengharapkan penunjuk ke CONSOLESETFOREGROUND
  • ConsoleSetWindowOwner: mengharapkan penunjuk ke CONSOLEWINDOWOWNER
  • ConsoleEndTask: mengharapkan penunjuk ke CONSOLEENDTASK

Persyaratan

   
Klien minimum yang didukung Windows 7 [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 R2 [hanya aplikasi desktop]
Header tidak ada, lihat komentar
Pustaka tidak ada, lihat komentar
DLL User32.dll