Skip to content

API UO Launch fr

Codex edited this page Oct 3, 2026 · 1 revision

UO.Launch

Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

UO.Exec · UO.Launch · UO.CallSub · UO.FunRunning · UO.SubExists

ClassicUO • Runtime API

Demande au système d’ouvrir un programme ou document local, par exemple un rapport de butin ou un utilitaire externe. Pour un script Basic, utiliser StartScript.

Syntaxe exacte

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

Paramètres

  • file — Nom/chemin obligatoire du programme ou document, converti en texte sans espaces aux extrémités. Vide donne 0 et un message. Préférer un chemin complet, sans guillemets ajoutés autour de file lui-même.
  • parameters — Chaîne facultative d’arguments du programme, vide par défaut. Entourer les chemins avec espaces de guillemets doubles via Chr(34). Ce ne sont pas des paramètres Basic.
  • workingDirectory — Dossier de travail facultatif. Omis ou vide : dossier du script courant ; s’il est indisponible, dossier de travail du processus client. Ce n’est pas forcément le dossier du jeu ou de l’EXE.
  • hidden — Boolean facultatif, False par défaut. True désactive le shell et demande une EXE sans fenêtre console. False permet les associations de documents. Une application graphique peut créer sa propre fenêtre.

Retour

Integer : 1 (True) si Process.Start renvoie un objet processus, sinon 0 (False). Comparaison avec 1/True possible. Ce n’est ni un PID, ni un code de sortie, ni une preuve d’achèvement. Une exception signale l’erreur et renvoie 0. Un document peut s’ouvrir dans une application existante sans nouveau processus : 0 ne prouve donc pas toujours un échec.

Comportement

  • Un à quatre arguments dans l’ordre indiqué. Pour hidden avec le dossier par défaut, fournir une troisième chaîne vide. La conversion en texte ne vérifie pas l’existence du fichier.
  • Le dossier par défaut vient du script en cours. Avec hidden=True, un chemin relatif de programme est d’abord vérifié dans workingDirectory. Recherche et associations dépendent du système ; un chemin complet est plus précis. Un programme ou dossier absent peut empêcher le lancement.
  • Launch n’attend pas la fin, ne lit pas stdout/stderr et ne termine pas le programme à l’arrêt du script. hidden ne garantit pas l’absence de fenêtres graphiques. L’objet Process est libéré après la demande ; le programme continue.

Fonctions internes : de l’appel au résultat

Étapes de l’implémentation du client, et non commandes Basic supplémentaires. Les procédures auxiliaires sont définies intégralement.

1. CompactLaunch

Un à quatre arguments dans l’ordre indiqué. Pour hidden avec le dossier par défaut, fournir une troisième chaîne vide. La conversion en texte ne vérifie pas l’existence du fichier.

Le dossier par défaut vient du script en cours. Avec hidden=True, un chemin relatif de programme est d’abord vérifié dans workingDirectory. Recherche et associations dépendent du système ; un chemin complet est plus précis. Un programme ou dossier absent peut empêcher le lancement.

Source du projet: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; fonction CompactLaunch.

2. Launch / Process.Start

Launch n’attend pas la fin, ne lit pas stdout/stderr et ne termine pas le programme à l’arrêt du script. hidden ne garantit pas l’absence de fenêtres graphiques. L’objet Process est libéré après la demande ; le programme continue.

Integer : 1 (True) si Process.Start renvoie un objet processus, sinon 0 (False). Comparaison avec 1/True possible. Ce n’est ni un PID, ni un code de sortie, ni une preuve d’achèvement. Une exception signale l’erreur et renvoie 0. Un document peut s’ouvrir dans une application existante sans nouveau processus : 0 ne prouve donc pas toujours un échec.

Source du projet: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; fonction Launch / Process.Start.

Étapes de l’implémentation du client, et non commandes Basic supplémentaires. Les procédures auxiliaires sont définies intégralement.

Exemples

Ouvrir un rapport existant

# Ouvrir un rapport existant
#
# Demande au système d’ouvrir un programme ou document local, par exemple un rapport de butin ou
# un utilitaire externe. Pour un script Basic, utiliser StartScript.
#
# Integer : 1 (True) si Process.Start renvoie un objet processus, sinon 0 (False). Comparaison
# avec 1/True possible. Ce n’est ni un PID, ni un code de sortie, ni une preuve d’achèvement.
# Une exception signale l’erreur et renvoie 0. Un document peut s’ouvrir dans une application
# existante sans nouveau processus : 0 ne prouve donc pas toujours un échec.

SUB Main()
    # Placer loot-report.txt à côté du script. Le système utilise l’association .txt. Main renvoie
    # le résultat de la demande, pas le contenu ni une confirmation de lecture.

    Dim started = UO.Launch("loot-report.txt")
    Return started
END SUB

Explication des paramètres et du déroulement:

  • Placer loot-report.txt à côté du script. Le système utilise l’association .txt. Main renvoie le résultat de la demande, pas le contenu ni une confirmation de lecture.

Chemin avec espaces vers un éditeur

# Chemin avec espaces vers un éditeur
#
# Demande au système d’ouvrir un programme ou document local, par exemple un rapport de butin ou
# un utilitaire externe. Pour un script Basic, utiliser StartScript.
#
# Integer : 1 (True) si Process.Start renvoie un objet processus, sinon 0 (False). Comparaison
# avec 1/True possible. Ce n’est ni un PID, ni un code de sortie, ni une preuve d’achèvement.
# Une exception signale l’erreur et renvoie 0. Un document peut s’ouvrir dans une application
# existante sans nouveau processus : 0 ne prouve donc pas toujours un échec.

SUB Main()
    # Le dossier et le rapport doivent exister ; adapter les chemins. Chr(34) encadre le chemin dans
    # arguments. notepad.exe doit être disponible. False autorise sa fenêtre normale.

    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

Explication des paramètres et du déroulement:

  • Le dossier et le rapport doivent exister ; adapter les chemins. Chr(34) encadre le chemin dans arguments. notepad.exe doit être disponible. False autorise sa fenêtre normale.

Lister les journaux sans console

# Lister les journaux sans console
#
# Demande au système d’ouvrir un programme ou document local, par exemple un rapport de butin ou
# un utilitaire externe. Pour un script Basic, utiliser StartScript.
#
# Integer : 1 (True) si Process.Start renvoie un objet processus, sinon 0 (False). Comparaison
# avec 1/True possible. Ce n’est ni un PID, ni un code de sortie, ni une preuve d’achèvement.
# Une exception signale l’erreur et renvoie 0. Un document peut s’ouvrir dans une application
# existante sans nouveau processus : 0 ne prouve donc pas toujours un échec.

SUB Main()
    # Exemple Windows/cmd.exe : crée ou remplace log-files.txt dans le dossier du script avec les
    # noms *.log. Le troisième argument vide choisit ce dossier, True masque la console. True dans
    # Main confirme seulement le lancement : le fichier peut être incomplet ; aucune correspondance
    # ou une erreur de l’utilitaire ne change pas le résultat initial.

    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

Explication des paramètres et du déroulement:

  • Exemple Windows/cmd.exe : crée ou remplace log-files.txt dans le dossier du script avec les noms *.log. Le troisième argument vide choisit ce dossier, True masque la console. True dans Main confirme seulement le lancement : le fichier peut être incomplet ; aucune correspondance ou une erreur de l’utilitaire ne change pas le résultat initial.

Clone this wiki locally