プログラムで別のデスクトップ アプリケーションを起動したい。
shell execute (open appname) を試みましたが、動作しません。
別の方法はありますか?
前もって感謝します。
もう 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
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()
ます。特にアプリケーションの名前にスペースが含まれている場合は、エスケープされた引用符を必ず含めてください。
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"