Leggere in inglese

Condividi tramite


Funzione ConsoleControl

Esegue operazioni speciali del kernel per le applicazioni host della console. Ciò include la ripetizione della finestra della console, consentendo alla console di passare i diritti in primo piano per avviare applicazioni del sottosistema console e terminando i processi collegati.

Nota Questa funzione non ha una libreria di importazione associata. Questa funzione è disponibile come risorsa denominata ConsoleControl in User32.dll. È necessario usare le funzioni LoadLibrary e GetProcAddress per collegare dinamicamente a User32.dll.

Sintassi


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

Parametri

Comando [in]
Uno dei CONSOLECONTROL valori che indicano quale funzione di controllo della console deve essere eseguita.

ConsoleInformation [in]
Puntatore a una delle CONSOLEENDTASKstrutture , CONSOLEWINDOWOWNERo CONSOLESETFOREGROUND che specificano dati aggiuntivi per la funzione di controllo della console richiesta.

ConsoleInformationLength [in]
Dimensioni della struttura a cui punta il parametro ConsoleInformation .

Valore restituito

Se la funzione ha esito positivo, il valore restituito è STATUS_SUCCESS.

Se la funzione ha esito negativo, il valore restituito indica NTSTATUS il motivo dell'errore.

Osservazioni:

Questa funzione non è definita in un'intestazione SDK e deve essere dichiarata dal chiamante. Questa funzione viene esportata da user32.dll.

Ogni comando prevede uno struct diverso per il ConsoleInformation parametro .

  • ConsoleNotifyConsoleApplication: prevede un puntatore a un CONSOLE_PROCESS_INFO
  • ConsoleSetCaretInfo: prevede un puntatore a un CONSOLE_CARET_INFO
  • ConsoleSetForeground: prevede un puntatore a un CONSOLESETFOREGROUND
  • ConsoleSetWindowOwner: prevede un puntatore a un CONSOLEWINDOWOWNER
  • ConsoleEndTask: prevede un puntatore a un CONSOLEENDTASK

Requisiti

   
Client minimo supportato Windows 7 [solo app desktop]
Server minimo supportato Windows Server 2008 R2 [solo app desktop]
Intestazione nessuno, vedere le osservazioni
Libreria nessuno, vedere le osservazioni
DLL User32.dll