Teo127 lo que tienes que usar es AttachConsole. lo unico malo es que solo funciona con windows XP y superiores.
lo que yo haria seria lo siguiente
Código Delphi
[-]
uses windows, sysutils;
type
TConsola = function(dwProcessId: Longint): boolean; stdcall;
var
AttachConsole: TConsola;
HConsola : THandle;
function _winxp: boolean;
var
OsVersion: TOsVersionInfo;
begin
OsVersion.dwOsVersionInfoSize := sizeof(OsVersion);
result := false;
if GetVersionEx(OsVersion) then
begin
if OsVersion.dwPlatformId = VER_PLATFORM_WIN32_NT then
result := (OsVersion.dwMajorVersion > 5) or ((OsVersion.dwMajorVersion = 5) and (OsVersion.dwMinorVersion > 0));
end;
end;
function _CreaConsola: boolean;
begin
Result := false;
HConsola := LoadLibrary('KERNEL32.DLL');
if Handle <> 0 then
begin
@AttachConsole := GetProcAddress(HConsola, 'AttachConsole');
if @AttachConsole <> nil then
Result:= AttachConsole(-1);
FreeLibrary(Handle);
end;
end;
begin
if _winxp then
if _CreaConsola then
begin
writeln('Esta es mi consola');
FreeConsole;
end
end.