-
Notifications
You must be signed in to change notification settings - Fork 0
API UO Launch de
Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
UO.Exec · UO.Launch · UO.CallSub · UO.FunRunning · UO.SubExists
ClassicUO • Runtime API
Fordert das Betriebssystem auf, ein lokales Programm oder Dokument zu öffnen, etwa einen Beutebericht oder ein Hilfsprogramm. Für Basic-Skripte dient 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— Erforderlicher Programm-/Dokumentname oder Pfad, in Text umgewandelt und außen getrimmt. Leer ergibt 0 und eine Meldung. Vollständigen Pfad bevorzugen; file selbst nicht zusätzlich in Anführungszeichen setzen. -
parameters— Optionale Argumentzeichenfolge des externen Programms, standardmäßig leer. Pfade mit Leerzeichen innerhalb dieser Zeichenfolge mit Chr(34) einrahmen. Dies sind keine Basic-Parameter. -
workingDirectory— Optionales Arbeitsverzeichnis. Fehlend oder leer verwendet den Ordner des aktuellen Skripts; ohne verfügbaren Skriptordner gilt das Prozess-Arbeitsverzeichnis des Clients, nicht zwingend dessen EXE- oder Spieleordner. -
hidden— Optionales Boolean, standardmäßig False. True deaktiviert die Betriebssystem-Shell und fordert eine EXE ohne Konsolenfenster an. False erlaubt Dateizuordnungen. GUI-Programme können eigene Fenster öffnen.
Integer: 1 (True), wenn Process.Start ein Prozessobjekt liefert, sonst 0 (False). Vergleiche mit 1/True sind möglich. Kein PID, Exitcode oder Abschlussnachweis. Ausnahmen melden einen Fehler und liefern 0. Bei einem Dokument in einer bestehenden Anwendung kann kein neuer Prozess zurückkommen; 0 beweist daher nicht immer einen Fehlschlag.
- Eine bis vier Positionen in der angegebenen Reihenfolge. Für hidden bei Standardordner das dritte Argument leer übergeben. Textumwandlung prüft keine Dateiexistenz.
- Der Standardordner stammt vom gerade ausgeführten Skript. Bei hidden=True wird ein relativer Programmpfad zunächst gegen workingDirectory geprüft. Namenssuche und Zuordnungen hängen vom System ab; vollständige Pfade sind eindeutiger. Fehlende Programme/Ordner können den Start verhindern.
- Launch wartet nicht auf Abschluss, liest kein stdout/stderr und beendet das Programm nicht beim Skriptstopp. hidden garantiert keine unsichtbaren GUI-Fenster. Das Process-Objekt wird nach der Anfrage freigegeben, das Programm läuft weiter.
Dies sind Implementierungsschritte des Clients, keine zusätzlichen Basic-Befehle. Hilfsprozeduren sind vollständig angegeben.
Eine bis vier Positionen in der angegebenen Reihenfolge. Für hidden bei Standardordner das dritte Argument leer übergeben. Textumwandlung prüft keine Dateiexistenz.
Der Standardordner stammt vom gerade ausgeführten Skript. Bei hidden=True wird ein relativer Programmpfad zunächst gegen workingDirectory geprüft. Namenssuche und Zuordnungen hängen vom System ab; vollständige Pfade sind eindeutiger. Fehlende Programme/Ordner können den Start verhindern.
Projektquelle: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; Funktion CompactLaunch.
Launch wartet nicht auf Abschluss, liest kein stdout/stderr und beendet das Programm nicht beim Skriptstopp. hidden garantiert keine unsichtbaren GUI-Fenster. Das Process-Objekt wird nach der Anfrage freigegeben, das Programm läuft weiter.
Integer: 1 (True), wenn Process.Start ein Prozessobjekt liefert, sonst 0 (False). Vergleiche mit 1/True sind möglich. Kein PID, Exitcode oder Abschlussnachweis. Ausnahmen melden einen Fehler und liefern 0. Bei einem Dokument in einer bestehenden Anwendung kann kein neuer Prozess zurückkommen; 0 beweist daher nicht immer einen Fehlschlag.
Projektquelle: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; Funktion Launch / Process.Start.
Dies sind Implementierungsschritte des Clients, keine zusätzlichen Basic-Befehle. Hilfsprozeduren sind vollständig angegeben.
# Beutebericht öffnen
#
# Fordert das Betriebssystem auf, ein lokales Programm oder Dokument zu öffnen, etwa einen
# Beutebericht oder ein Hilfsprogramm. Für Basic-Skripte dient StartScript.
#
# Integer: 1 (True), wenn Process.Start ein Prozessobjekt liefert, sonst 0 (False). Vergleiche
# mit 1/True sind möglich. Kein PID, Exitcode oder Abschlussnachweis. Ausnahmen melden einen
# Fehler und liefern 0. Bei einem Dokument in einer bestehenden Anwendung kann kein neuer
# Prozess zurückkommen; 0 beweist daher nicht immer einen Fehlschlag.
SUB Main()
# Vorhandene loot-report.txt neben das Skript legen. Die .txt-Zuordnung bestimmt die Anwendung.
# Main liefert den Anfragestatus, nicht Inhalt oder Lesebestätigung.
Dim started = UO.Launch("loot-report.txt")
Return started
END SUBErläuterung der Parameter und Ausführung:
- Vorhandene loot-report.txt neben das Skript legen. Die .txt-Zuordnung bestimmt die Anwendung. Main liefert den Anfragestatus, nicht Inhalt oder Lesebestätigung.
# Pfad mit Leerzeichen an Editor geben
#
# Fordert das Betriebssystem auf, ein lokales Programm oder Dokument zu öffnen, etwa einen
# Beutebericht oder ein Hilfsprogramm. Für Basic-Skripte dient StartScript.
#
# Integer: 1 (True), wenn Process.Start ein Prozessobjekt liefert, sonst 0 (False). Vergleiche
# mit 1/True sind möglich. Kein PID, Exitcode oder Abschlussnachweis. Ausnahmen melden einen
# Fehler und liefern 0. Bei einem Dokument in einer bestehenden Anwendung kann kein neuer
# Prozess zurückkommen; 0 beweist daher nicht immer einen Fehlschlag.
SUB Main()
# Ordner und Bericht müssen vorhanden sein; eigene Pfade einsetzen. Chr(34) setzt den
# Berichtspfad innerhalb von arguments in Anführungszeichen. notepad.exe muss verfügbar sein.
# False erlaubt das normale Fenster.
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 SUBErläuterung der Parameter und Ausführung:
- Ordner und Bericht müssen vorhanden sein; eigene Pfade einsetzen. Chr(34) setzt den Berichtspfad innerhalb von arguments in Anführungszeichen. notepad.exe muss verfügbar sein. False erlaubt das normale Fenster.
# Logdateien ohne Konsolenfenster auflisten
#
# Fordert das Betriebssystem auf, ein lokales Programm oder Dokument zu öffnen, etwa einen
# Beutebericht oder ein Hilfsprogramm. Für Basic-Skripte dient StartScript.
#
# Integer: 1 (True), wenn Process.Start ein Prozessobjekt liefert, sonst 0 (False). Vergleiche
# mit 1/True sind möglich. Kein PID, Exitcode oder Abschlussnachweis. Ausnahmen melden einen
# Fehler und liefern 0. Bei einem Dokument in einer bestehenden Anwendung kann kein neuer
# Prozess zurückkommen; 0 beweist daher nicht immer einen Fehlschlag.
SUB Main()
# Windows/cmd.exe erstellt oder überschreibt log-files.txt im Skriptordner mit den *.log-Namen.
# Leeres drittes Argument wählt diesen Ordner, True verbirgt die Konsole. True aus Main
# bestätigt nur den Start: Die Datei kann noch fehlen; keine passenden Logs oder Programmfehler
# ändern das vorherige Launch-Ergebnis nicht.
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 SUBErläuterung der Parameter und Ausführung:
- Windows/cmd.exe erstellt oder überschreibt log-files.txt im Skriptordner mit den *.log-Namen. Leeres drittes Argument wählt diesen Ordner, True verbirgt die Konsole. True aus Main bestätigt nur den Start: Die Datei kann noch fehlen; keine passenden Logs oder Programmfehler ändern das vorherige Launch-Ergebnis nicht.
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь