-
Notifications
You must be signed in to change notification settings - Fork 0
API UO Launch ja
Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
UO.Exec · UO.Launch · UO.CallSub · UO.FunRunning · UO.SubExists
ClassicUO • Runtime API
ローカルのプログラムや文書(戦利品の報告や外部ツールなど)を開くよう OS に要求します。Basic スクリプトには StartScript を使います。
UO.Launch(file:Any) -> Integer
UO.Launch(file:Any, parameters:Any) -> Integer
UO.Launch(file:Any, parameters:Any, workingDirectory:Any) -> Integer
UO.Launch(file:Any, parameters:Any, workingDirectory:Any, hidden:Any) -> Integer
-
file— 必須のプログラム・文書名またはパス。文字列に変換し両端の空白を除去します。空ならメッセージと0。完全パスを推奨し、file 自体に外側の引用符を付けないでください。 -
parameters— 任意の外部引数文字列、既定は空。内部の空白入りパスは Chr(34) で二重引用符に囲みます。Basic の引数ではありません。 -
workingDirectory— 任意の作業フォルダー。省略・空なら現在のスクリプトのフォルダー。runtime で取得できなければクライアントプロセスの作業フォルダーであり、ゲームや EXE の場所とは限りません。 -
hidden— 任意 Boolean、既定 False。True は OS シェルを使わずコンソールなしの EXE 起動を要求します。False は文書の関連付けを許可します。GUI アプリは独自ウィンドウを表示する場合があります。
Integer:Process.Start がプロセスオブジェクトを返せば1(True)、それ以外は0(False)。1/True と比較可能。PID、終了コード、完了確認ではありません。例外ではエラー表示と0。既存アプリが文書を開く場合、新プロセスが返らず0でも開けていることがあります。
- 示した順序で1~4引数だけを受け取ります。既定フォルダーのまま hidden を指定するには第3引数を空文字列にします。文字列変換でファイル存在確認はしません。
- 既定フォルダーは実行中スクリプトから取得します。hidden=True の相対プログラムパスはまず workingDirectory を基準に探します。名前検索や関連付けはシステム依存です。完全パスが明確で、フォルダーや実行ファイルがなければ失敗する場合があります。
- Launch は終了を待たず stdout/stderr を取得せず、スクリプト停止でも外部プログラムを終了しません。hidden はすべての GUI を不可視にする保証ではありません。要求後 Process オブジェクトを解放しますが、プログラムは動作を続けます。
以下はクライアントの実装段階で、追加の Basic 命令ではありません。補助プロシージャはすべて定義されています。
示した順序で1~4引数だけを受け取ります。既定フォルダーのまま hidden を指定するには第3引数を空文字列にします。文字列変換でファイル存在確認はしません。
既定フォルダーは実行中スクリプトから取得します。hidden=True の相対プログラムパスはまず workingDirectory を基準に探します。名前検索や関連付けはシステム依存です。完全パスが明確で、フォルダーや実行ファイルがなければ失敗する場合があります。
プロジェクトのソース: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; 関数 CompactLaunch.
Launch は終了を待たず stdout/stderr を取得せず、スクリプト停止でも外部プログラムを終了しません。hidden はすべての GUI を不可視にする保証ではありません。要求後 Process オブジェクトを解放しますが、プログラムは動作を続けます。
Integer:Process.Start がプロセスオブジェクトを返せば1(True)、それ以外は0(False)。1/True と比較可能。PID、終了コード、完了確認ではありません。例外ではエラー表示と0。既存アプリが文書を開く場合、新プロセスが返らず0でも開けていることがあります。
プロジェクトのソース: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; 関数 Launch / Process.Start.
以下はクライアントの実装段階で、追加の Basic 命令ではありません。補助プロシージャはすべて定義されています。
# 既存の報告を開く
#
# ローカルのプログラムや文書(戦利品の報告や外部ツールなど)を開くよう OS に要求します。Basic スクリプトには StartScript を使います。
#
# Integer:Process.Start がプロセスオブジェクトを返せば1(True)、それ以外は0(False)。1/True
# と比較可能。PID、終了コード、完了確認ではありません。例外ではエラー表示と0。既存アプリが文書を開く場合、新プロセスが返らず0でも開けていることがあります。
SUB Main()
# loot-report.txt をスクリプトの隣に置きます。OS が .txt の関連付けを使います。Main の戻り値は起動要求の結果で、内容や読了確認ではありません。
Dim started = UO.Launch("loot-report.txt")
Return started
END SUBパラメーターと実行の説明:
- loot-report.txt をスクリプトの隣に置きます。OS が .txt の関連付けを使います。Main の戻り値は起動要求の結果で、内容や読了確認ではありません。
# 空白入りパスをエディターへ渡す
#
# ローカルのプログラムや文書(戦利品の報告や外部ツールなど)を開くよう OS に要求します。Basic スクリプトには StartScript を使います。
#
# Integer:Process.Start がプロセスオブジェクトを返せば1(True)、それ以外は0(False)。1/True
# と比較可能。PID、終了コード、完了確認ではありません。例外ではエラー表示と0。既存アプリが文書を開く場合、新プロセスが返らず0でも開けていることがあります。
SUB Main()
# フォルダーと報告が存在するようパスを置き換えます。Chr(34) が arguments 内の報告パスを囲みます。notepad.exe が必要です。False
# は通常ウィンドウを許可します。
Dim report = "C:\UO Scripts\loot report.txt"
Dim arguments = Chr(34) & report & Chr(34)
Return UO.Launch("notepad.exe", arguments, "C:\UO Scripts", False)
END SUBパラメーターと実行の説明:
- フォルダーと報告が存在するようパスを置き換えます。Chr(34) が arguments 内の報告パスを囲みます。notepad.exe が必要です。False は通常ウィンドウを許可します。
# コンソールなしでログ一覧を作る
#
# ローカルのプログラムや文書(戦利品の報告や外部ツールなど)を開くよう OS に要求します。Basic スクリプトには StartScript を使います。
#
# Integer:Process.Start がプロセスオブジェクトを返せば1(True)、それ以外は0(False)。1/True
# と比較可能。PID、終了コード、完了確認ではありません。例外ではエラー表示と0。既存アプリが文書を開く場合、新プロセスが返らず0でも開けていることがあります。
SUB Main()
# Windows/cmd.exe がスクリプトフォルダーに *.log 一覧の log-files.txt を作成・上書きします。第3引数の空文字列は同フォルダー、True
# は非表示コンソールです。Main の True は起動だけを示し、ファイルは未完成の場合があります。該当ログなし・ツールのエラーは先に返った結果を変更しません。
Dim started = UO.Launch("cmd.exe", "/d /c dir /b *.log > log-files.txt", "", True)
If started = 0 Then
Return False
End If
Return True
END SUBパラメーターと実行の説明:
- Windows/cmd.exe がスクリプトフォルダーに *.log 一覧の log-files.txt を作成・上書きします。第3引数の空文字列は同フォルダー、True は非表示コンソールです。Main の True は起動だけを示し、ファイルは未完成の場合があります。該当ログなし・ツールのエラーは先に返った結果を変更しません。
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь