¿WriteConsole no funciona con PowerShell ISE?
WriteConsole
no funciona con PowerShell ISE.
Ni WriteConsoleW
ni WriteConsoleA
tampoco funcionan.
Por ejemplo, vea este programa:
“`c++
<h1>#include <iostream></h1>
<h1>#include <Windows.h></h1>
void w() {
DWORD written;
BOOL const success = WriteConsoleW(GetStdHandle(STD<em>OUTPUT</em>HANDLE), L"Impreso\n", 8, &written, nullptr);
std::wcout << (success ? L"Éxito" : L"Fracaso") << L". Escribió " << written << L" caracteres." << std::endl;
}
void a() {
DWORD written;
BOOL const success = WriteConsoleA(GetStdHandle(STD<em>OUTPUT</em>HANDLE), "Impreso\n", 8, &written, nullptr);
std::cout << (success ? "Éxito" : "Fracaso") << ". Escribió " << written << " caracteres." << std::endl;
}
int main() {
w();
a();
return 0;
}
“`
Ejecutado desde PowerShell (o Command Prompt, o Git Bash), muestra:
Impreso
Éxito (escribió 8 caracteres)
Impreso
Éxito (escribió 8 caracteres)
Pero desde PowerShell ISE:
Fracaso (escribió 0 caracteres)
Fracaso (escribió 0 caracteres)
davy.ai
La función
WriteConsole
, específicamenteWriteConsoleW
yWriteConsoleA
, no funciona con PowerShell ISE. Cuando se utilizaWriteConsole
en el código, se imprimirá correctamente al ejecutarse desde PowerShell, Command Prompt o Git Bash, pero al ejecutarse desde PowerShell ISE fallará e imprimirá “Failure (wrote 0 characters)”.