Start(RawInfo: IWinShellExecuteInfo);
Start(RawInfo: Prognoz.Platform.Interop.Ui.WinShellExecuteInfo);
RawInfo. Информация о запускаемом процессе.
Метод Start запускает процесс.
Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с наименованием «Button1», компонента Label с наименованием «Label1» и таймера с наименованием «Timer1».
Class TESTForm: Form
Button1: Button;
Label1: Label;
Timer1: Timer;
Process: IWinProcess;
Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
Info: IWinShellExecuteInfo;
Begin
Info := New WinShellExecuteInfo.Create;
Info.File := "Excel.exe";
Process := New WinProcess.Create;
Process.Start(Info);
Timer1.Enabled := True;
End Sub Button1OnClick;
Sub Timer1OnTimer(Sender: Object; Args: IEventArgs);
Begin
If Process <> Null Then
If Not Process.HasExited Then
Label1.Text := "Процесс выполняется";
Else
Label1.Text := "Процесс завершен. Код завершения:" + Process.ExitCode.ToString;
End If;
Else
Label1.Text := "Процесс не запущен";
End If;
End Sub Timer1OnTimer;
End Class TESTForm;
После запуска формы при нажатии кнопки «Button1» будет запущено приложение Microsoft Excel. Статус выполнения будет контролироваться в процедуре таймера. Соответствующие сообщения будут выводиться в компоненте «Label1».
Для выполнения примера предполагается наличие .NET-формы, расположенной на ней кнопки с наименованием «Button1», компонента Label с наименованием «Label1» и таймера с наименованием «Timer1».
Imports Prognoz.Platform.Interop.Ui;
Public Partial Class TESTForm: Prognoz.Platform.Forms.Net.ForeNetForm
Process: IWinProcess;
Public Constructor TESTForm();
Begin
InitializeComponent();
End Constructor;
Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
Info: WinShellExecuteInfo;
Begin
Info := New WinShellExecuteInfoClass();
Info.File := "Excel.exe";
Process := New WinProcessClass();
Process.Start(Info);
Timer1.Enabled := True;
End Sub;
Private Sub timer1_Tick(sender: System.Object; e: System.EventArgs);
Begin
If Process <> Null Then
If Not Process.HasExited Then
Label1.Text := "Процесс выполняется";
Else
Label1.Text := "Процесс завершен. Код завершения:" + Process.ExitCode.ToString();
End If;
Else
Label1.Text := "Процесс не запущен";
End If;
End Sub;
End Class;
После запуска формы при нажатии кнопки «Button1» будет запущено приложение Microsoft Excel. Статус выполнения будет контролироваться в процедуре таймера. Соответствующие сообщения будут выводиться в компоненте «Label1».
См. также: