1

プログラムで別のデスクトップ アプリケーションを起動したい。

shell execute (open appname) を試みましたが、動作しません。

別の方法はありますか?

前もって感謝します。

4

3 に答える 3

5

もう 1 つの可能性は、標準の Xojo FolderItem を使用し、Launch メソッドを使用することです。

Dim f as folderitem = specialfolder.applications.child("AppName")
if f <> nil and f.exists then
  f.launch
end

参照ドキュメント: http://docs.xojo.com/index.php/SpecialFolder http://docs.xojo.com/index.php/FolderItem.Launch

于 2013-09-09T13:15:52.250 に答える
1
dim s as new Shell
s.Execute("open -a ""Finder""")

' Check error code and do something about it...
if s.ErrorCode <> 0 then
  MsgBox("Error code: " + Str(s.ErrorCode) + EndOfLine + "Output: " + s.Result)
end if

Finder" " を必要なアプリケーションに変更するか、文字列を作成して に渡しs.Execute()ます。特にアプリケーションの名前にスペースが含まれている場合は、エスケープされた引用符を必ず含めてください。

于 2013-09-09T12:33:04.467 に答える
0

Xojo には詳しくありませんが、OS X でアプリケーションを「起動」するのは複雑です。特にすでに実行されている場合は、考慮する必要があることがたくさんあります。

Xojo の呼び出しネイティブ C コードを起動する機能を使用して、3 つの-[NSWorkspace launchApplication...]メソッドのいずれかを実行するか、2 つの可能なオプションを検討することをお勧めします。 /NSWorkspace_Class/Reference/Reference.html#//apple_ref/doc/uid/20000391-SW23

または、Apple のopenコマンド ライン ツールを使用します。

/usr/bin/open -a "App Name"
/usr/bin/open -a "/Applications/App Name.app"
于 2013-09-08T08:11:03.917 に答える