Asociar un handle a un programa cónsola
Artículo por Club Developers · 01 marzo 2006
4781 vistas
Con el fin de usar dentro de una aplicación cónsola el API de Windows, tendremos antes que recuperar uno de los handles de la cónsola.
Para ello podemos usar el código siguiente:
Ahora podrÃamos usar ese handle en una llamada al API, por ejemplo para llenar el parámetro hTemplateFile de la función CreateFile.
El handle recuperado puede ser:
STD_INPUT_HANDLE : handle de la entrada estándar (CONIN$).
STD_OUTPUT_HANDLE : handle de la salida estándar (CONOUT$).
STD_ERROR_HANDLE : handle de la salida de error estándar. (permite por ejemplo, redirigir los errores/Log en un fichero específico. )
Para ello podemos usar el código siguiente:
delphi
program Project1; {$APPTYPE CONSOLE} uses sysutils, Windows; var  Han: THandle; begin  Han := GetStdHandle(STD_OUTPUT_HANDLE);  if (Han <> INVALID_HANDLE_VALUE) then  begin   // añadir el código del API aquà  end  else  begin   Write('¡Error en la inicialización de la aplicación!');   ReadLn;  end; end.
Ahora podrÃamos usar ese handle en una llamada al API, por ejemplo para llenar el parámetro hTemplateFile de la función CreateFile.
El handle recuperado puede ser:
STD_INPUT_HANDLE : handle de la entrada estándar (CONIN$).
STD_OUTPUT_HANDLE : handle de la salida estándar (CONOUT$).
STD_ERROR_HANDLE : handle de la salida de error estándar. (permite por ejemplo, redirigir los errores/Log en un fichero específico. )