-
Notifications
You must be signed in to change notification settings - Fork 0
API UO Launch ko
Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
UO.Exec · UO.Launch · UO.CallSub · UO.FunRunning · UO.SubExists
ClassicUO • Runtime API
운영체제에 로컬 프로그램이나 문서(전리품 보고서, 외부 도구 등)를 열도록 요청합니다. 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을 지정하려면 세 번째 인수를 빈 문자열로 주십시오. 텍스트 변환은 파일 존재를 미리 확인하지 않습니다.
- 기본 폴더는 실행 중인 스크립트에서 가져옵니다. hidden=True면 상대 실행 경로를 workingDirectory 기준으로 먼저 찾습니다. 이름 검색과 문서 연결은 시스템에 따라 다르며 전체 경로가 명확합니다. 폴더나 프로그램이 없으면 실행에 실패할 수 있습니다.
- Launch는 종료를 기다리지 않고 stdout/stderr를 읽지 않으며 스크립트 중지로 프로그램을 종료하지 않습니다. hidden이 모든 GUI 창을 숨기는 것은 아닙니다. 요청 후 Process 객체를 해제해도 실행된 프로그램은 계속 동작합니다.
클라이언트 구현 단계이며 추가 Basic 명령이 아닙니다. 예제의 보조 프로시저는 모두 정의되어 있습니다.
지정한 순서의 인수 1~4개만 지원합니다. 기본 폴더를 유지하며 hidden을 지정하려면 세 번째 인수를 빈 문자열로 주십시오. 텍스트 변환은 파일 존재를 미리 확인하지 않습니다.
기본 폴더는 실행 중인 스크립트에서 가져옵니다. 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 명령이 아닙니다. 예제의 보조 프로시저는 모두 정의되어 있습니다.
# 기존 보고서 열기
#
# 운영체제에 로컬 프로그램이나 문서(전리품 보고서, 외부 도구 등)를 열도록 요청합니다. 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은 시작 요청 결과를 반환하며 내용이나 읽기 완료 확인이 아닙니다.
# 편집기에 공백 경로 전달
#
# 운영체제에 로컬 프로그램이나 문서(전리품 보고서, 외부 도구 등)를 열도록 요청합니다. 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는 일반 창을 허용합니다.
# 콘솔 없이 로그 목록 만들기
#
# 운영체제에 로컬 프로그램이나 문서(전리품 보고서, 외부 도구 등)를 열도록 요청합니다. Basic 스크립트에는 StartScript를 사용합니다.
#
# Integer: Process.Start가 프로세스 객체를 반환하면 1(True), 아니면 0(False). 1/True 비교가 가능합니다. PID, 종료 코드, 완료
# 확인이 아닙니다. 예외는 오류와 0을 반환합니다. 기존 앱이 문서를 열 때 새 프로세스가 없을 수 있으므로 0이 항상 열기 실패를 뜻하지는 않습니다.
SUB Main()
# Windows/cmd.exe가 스크립트 폴더에 *.log 목록인 log-files.txt를 만들거나 덮어씁니다. 빈 세 번째 인수는 스크립트 폴더, 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를 만들거나 덮어씁니다. 빈 세 번째 인수는 스크립트 폴더, True는 숨긴 콘솔입니다. Main의 True는 시작만 확인하므로 파일이 아직 준비되지 않았을 수 있습니다. 로그 없음이나 도구 오류는 이미 반환된 결과를 바꾸지 않습니다.
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь