7

shellexecute()Mac用のLazarusで同等の機能を実行するにはどうすればよいですか?

4

5 に答える 5

8

{これを行うためのコードは次のとおりです。TProcessオブジェクトを使用してください!}

uses Process;

...

procedure DoProcess;
Var
  Proc : TProcess;

Begin
  Proc := TProcess.Create(nil);
  try
    Proc.CommandLine := '/Applications/MyApp.app';

    PRoc.Options := Proc.Options + [poWaitOnExit];
    Proc.CommandLine := Proc.CommandLine + ' -someparam';
    PRoc.Execute;
  finally
    Proc.free;
  end;  
End;
于 2009-03-05T19:26:49.910 に答える
3

Lazarus ライブラリに既にこの機能がラップされているかどうかはわかりませんが、そうでない場合は、 Launch Services Programming Guideの情報を使用して、条件付きでコンパイルされたバージョンのShellExecute()を作成できます。

于 2009-02-27T05:22:06.887 に答える
3

ShellExecute を使用して、優先アプリケーションでドキュメントを開く場合は、LCLIntf ユニットから OpenDocument プロシージャを使用できます。

Lazarus 変換ツールも、この ShellExecute の代替を使用します。Lazarus wikiを参照してください。RobS で言及されているように、内部的には open を使用します。

于 2011-09-19T10:43:47.767 に答える
0

Macでフォークが痛い。BSD は fork ではなく vfork を使用します。

于 2009-04-26T17:27:26.143 に答える