Ver Mensaje Individual
  #6  
Antiguo 29-08-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.964
Reputación: 29
delphi.com.ar Va camino a la fama
Estaba haciendo esta prueba, pero me tengo que ir... si alguien quiere continuarla...
Código Delphi [-]
program AppConsole;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  Windows,
  Messages;

var
  Dummy: string;
begin
  SendMessage(StrToIntDef(ParamStr(1), 0), WM_SETTEXT, 0, Integer(PChar(ParamStr(2))));
  WriteLn(ParamStr(2));
  ReadLn(Dummy);
end.

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  MyDesk: HDESK;
  ProcessInfo: TProcessInformation;
  StartupInfo: TStartupInfo;
begin
  MyDesk := CreateDesktop('Delphi.com.ar', nil, nil, DF_ALLOWOTHERACCOUNTHOOK,
                          DESKTOP_CREATEWINDOW or DESKTOP_SWITCHDESKTOP,
                           nil);
  if MyDesk <> 0 then
    try
      SwitchDesktop(MyDesk);

      ZeroMemory(@StartupInfo, SizeOf(TStartupInfo));
      StartupInfo.cb := SizeOf(TStartupInfo);
      StartupInfo.lpDesktop := PChar('Delphi.com.ar');


      CreateProcess(nil, PChar('AppConsole.exe' + IntToStr(Handle) + ' ' + Edit1.Text), 
                          nil, nil, True, CREATE_DEFAULT_ERROR_MODE or CREATE_SEPARATE_WOW_VDM, 
                          nil, nil, StartupInfo, ProcessInfo);
      try
        Sleep(5000);
      finally
        CloseHandle(ProcessInfo.hProcess);
      end;
    finally
      CloseDesktop(MyDesk);
    end;
end;

end.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.

Última edición por delphi.com.ar fecha: 30-08-2005 a las 20:47:40.
Responder Con Cita