Ver Mensaje Individual
  #4  
Antiguo 27-05-2007
Avatar de rruz
[rruz] rruz is offline
Miembro Premium
 
Registrado: jun 2006
Posts: 146
Reputación: 18
rruz Va por buen camino
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.
Responder Con Cita