IWinProcess.Start

Синтаксис Fore

Start(RawInfo: IWinShellExecuteInfo);

Синтаксис Fore.NET

Start(RawInfo: Prognoz.Platform.Interop.Ui.WinShellExecuteInfo);

Параметры

RawInfo. Информация о запускаемом процессе.

Описание

Метод Start запускает процесс.

Пример Fore

Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с наименованием «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».

Пример Fore.NET

Для выполнения примера предполагается наличие .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».

См. также:

IWinProcess