Взаимодействие с другими программами

         Управление Microsoft Excel

         Запуск программы с ожиданием завершения

         Запуск нужной программы в соответствии с расширением файла

         Управление Netscape Navigator при помощи DDE

         Открытие почтовой программы с нужным адрессом


Управление Microsoft Excel

uses AciveX;        // для Delphi 3 и 4

uses Ole2, OleAuto; // для Delphi 2

procedure TForm1.Button1Click(Sender: TObject);
var MyExcel: Variant;
begin
  MyExcel:=CreateOleObject('Excel.Application');
  MyExcel.Visible:=true;
  MyExcel.WorkBooks.Add;
  MyExcel.Cells[1,1].value:='1';
  MyExcel.ActiveWorkbook.SaveAs(PATHNAME);
  MyExcel.Quit;
end;

Запуск программы с ожиданием завершения

procedure Start;
var 
  si: TStartupInfo;
  p:  TProcessInformation;
begin
  FillChar(Si,SizeOf(Si),0);
  with Si do begin
    cb := SizeOf( Si);
    dwFlags := startf_UseShowWindow;
    wShowWindow := 4;
  end;
  Form1.WindowState:=wsMinimized;
  Createprocess(nil,'c:\windows\sndrec32.exe e:/temp.wav',nil,nil,false,
        Create_default_error_mode,nil,nil,si);
  Waitforsingleobject(p.hProcess,infinite);
  Form1.WindowState:=wsNormal;
end;  

Запуск нужной программы в соответствии с расширением файла

ShellExecute(0, Nil, 'name.ext' , Nil, Nil, SW_NORMAL);
//Будет запускаться для TXT-блокнот,HTML-explorer итд.

Управление Netscape Navigator при помощи DDE

uses DDEman;

procedure GotoURL( sURL : string );
var dde : TDDEClientConv;
begin
  dde := TDDEClientConv.Create( nil );
  with dde do begin
    // specify the location of netscape.exe
    ServiceApplication:='C:\Program Files\Netscape\Communicator\Program'+
            '\NETSCAPE.EXE';
    // activate the Netscape Navigator
    SetLink( 'Netscape', 'WWW_Activate' );
    RequestData('0xFFFFFFFF');
    // go to the specified URL
    SetLink( 'Netscape', 'WWW_OpenURL' );
    RequestData( sURL+',,0xFFFFFFFF,0x3,,,' );
    // ... CloseLink;
  end;
  dde.Free;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  GotoURL('http://www.infoart.ru');
end;

Открытие почтовой программы с нужным адрессом

ShellExecute(Self.WindowHandle,'open',PChar('mailto:'+
      'xxxx@yyyy.com",'','',SW_Show);

main_back.gif (3425 bytes)

Используются технологии uCoz