반응형
Unity에서 (어차피 C#에서 제공되는 기능) 다른 프로세스(프로그램)을 실행을 하는 경우가 종종있다.
그리고 다른 프로세스를 실행하면서 매개변수를 던질 수 있다.
● 프로세스 동작 확인
현재 해당 프로세스가 동작하고 있는지를 검색한다.
using DI = System.Diagnostics 의 별칭을 지정하여 사용하였다.
System.Diagnostics에도 Debug API가 존재하므로 Unity의 Debug사용시 불편해서 별칭사용을 추천.
프로세스 리스트 얻는 방법은 다음과 같다.
using DI = System.Diagnostics;
//노트패드 프로세스 얻어오기
processList = DI.Process.GetProcessesByName("Notepad++");
if(processList.Length > 0)
{
//프로세스가 1개이상 동작중..
}
else
{
//실행된 프로세스 없음
}
● 프로세스 실행 ( 파라미터 전달 , 파라미터 여러개 전달)
위 코드에서 프로세스 동작확인을 하고 현재 동작하고 있는 프로세스가 없다면 프로세스를 실행한다.
//매개 변수 0
Process.Start(@"C:\Program Files (x86)\Notepad++.exe");
//매개변수 1개 전달 > arg1
Process.Start(@"C:\Program Files (x86)\Notepad++.exe", "arg1");
//매개변수 여러개 전달 > arg1, arg2, arg3
Process.Start(@"C:\Program Files (x86)\Notepad++.exe", "arg1 arg2 arg3");
● 프로세스 종료
foreach(Process process in Process.GetProcesses())
{
if (process.ProcessName.StartsWith("Notepad++"))
{
process.Kill();
}
}
감사합니다.
반응형
'Programming > Unity' 카테고리의 다른 글
[Unity3D] 3D 오브젝트 좌표에 2D 텍스트 위치 시키기 (4) | 2020.12.21 |
---|---|
[Unity3D] 카메라 거리에 따라 오브젝트 활성화/비활성화 (5) | 2020.12.04 |
[Unity] WebSocket을 이용한 통신 서버 - 클라이언트 구축하기 (8) | 2020.12.03 |
[Unity3D] NVIDA Flex Error - ArgumentException: ComputeBuffer.SetData() (121) | 2020.11.06 |
[Unity3D] 마우스 클릭 시 UI인지 3D객체 인지 구별 (2) | 2020.10.16 |
댓글