GenerateConsoleCtrlEvent Funktion
Sendet ein angegebenes Signal an eine Konsolenprozessgruppe, die die Konsole teilt, die dem aufrufenden Prozess zugeordnet ist.
Syntax
BOOL WINAPI GenerateConsoleCtrlEvent(
_In_ DWORD dwCtrlEvent,
_In_ DWORD dwProcessGroupId
);
Parameter
dwCtrlEvent [in]
Der Typ des zu generierenden Signals. Dieser Parameter kann einen der folgenden Werte annehmen.
Wert | Bedeutung |
---|---|
CTRL_C_EVENT 0 | Generiert ein STRG+C-Signal. Dieses Signal kann nicht auf eine bestimmte Prozessgruppe beschränkt werden. Wenn dwProcessGroupId nicht null ist, wird diese Funktion erfolgreich ausgeführt, aber das STRG+C-Signal wird nicht von Prozessen innerhalb der angegebenen Prozessgruppe empfangen. |
CTRL_BREAK_EVENT 1 | Generiert ein STRG+BREAK-Signal. |
dwProcessGroupId [in]
Der Bezeichner der Prozessgruppe, um das Signal zu empfangen. Eine Prozessgruppe wird erstellt, wenn das CREATE_NEW_PROCESS_GROUP Flag in einem Aufruf der CreateProcess-Funktion angegeben wird. Der Prozessbezeichner des neuen Prozesses ist auch der Prozessgruppenbezeichner einer neuen Prozessgruppe. Die Prozessgruppe enthält alle Prozesse, die untergeordnete Elemente des Stammprozesses sind. Nur die Prozesse in der Gruppe, die dieselbe Konsole wie der aufrufende Prozess gemeinsam nutzen, empfangen das Signal. Anders ausgedrückt: Wenn ein Prozess in der Gruppe eine neue Konsole erstellt, empfängt dieser Prozess weder das Signal noch seine Nachfolger.
Wenn dieser Parameter null ist, wird das Signal in allen Prozessen generiert, die die Konsole des aufrufenden Prozesses gemeinsam nutzen.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.
Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Hinweise
GenerateConsoleCtrlEvent bewirkt, dass die Steuerelementhandlerfunktionen von Prozessen in der Zielgruppe aufgerufen werden. Anfänglich enthält die Handlerliste für jeden Prozess nur eine Standardhandlerfunktion, die die ExitProcess-Funktion aufruft. Ein Konsolenprozess kann die SetConsoleCtrlHandler-Funktion verwenden, um andere Handlerfunktionen zu installieren oder zu entfernen.
SetConsoleCtrlHandler kann auch ein vererbbares Attribut aktivieren, das dazu führt, dass der aufrufende Prozess STRG+C-Signale ignoriert. Wenn GenerateConsoleCtrlEvent ein STRG+C-Signal an einen Prozess sendet, für den dieses Attribut aktiviert ist, werden die Handlerfunktionen für diesen Prozess nicht aufgerufen. STRG+BREAK-Signale führen immer dazu, dass die Handlerfunktionen aufgerufen werden.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Header | ConsoleApi.h (über WinCon.h, Windows.h einschließen) |
Bibliothek | Kernel32.lib |
DLL | Kernel32.dll |
Siehe auch
Konsolen-Bearbeitungssteuerelemente
ExitProcess