메인 항목으로

프로세스 제어 관련 서비스

 본 서비스는 시스템에서 실행 중인 특정 프로세스 또는 특정 프로세스의 창을 조작하기 위한 기능을 지원합니다.

서비스 리스트

 프로세스 제어 관련 서비스 리스트는 다음과 같습니다.

No. 서비스명 API명 비고
1 타이틀 기반 프로세스 구동 체크 CheckProcessRunningByTitle
2 PID 기반 프로세스 구동 체크 CheckProcessRunningByPID
3 타이틀 기반 특정 프로세스 창 이동 SetWindowPosition
4 타이틀 기반 특정 프로세스 창 최상단 배치 BringWindowToTop
5 PID 기반 특정 프로세스 창 이동 SetProcessWindowPosition
6 프로세스 IME 모드 변경 WinInfo.SetImeMode

서비스 상태 코드 리스트

 본 서비스에서 공통으로 사용되는 서비스 상태코드 리스트에 대해 정의합니다.

 이 상태 코드는 응답 JSON 메시지 중 return 또는 returnValue의 값에 해당합니다.

리턴코드 리턴 코드 내용 대상 서비스 비고
-1 정의되지 않은 예외 공통 Log 파일에서 내용 확인 필요
0 정상 공통 -
2 PC와 연결된 모니터 리스트 획득 실패

SetWindowPosition,

SetProcessWindowPosition

-
3 요청 모니터 정보 획득 실패

SetWindowPosition,

SetProcessWindowPosition

-
4 모니터 해상도 획득 실패

SetWindowPosition,

SetProcessWindowPosition

-
5 지원하지 않는 창 크기 설정 옵션

SetWindowPosition,

SetProcessWindowPosition

-
6 대상 타이틀을 가진 프로세스가 없음

SetWindowPosition,

BringWindowToTop,

SetProcessWindowPosition,

SetImeMode

-
16 지원되지 않는 프로세스

SetImeMode, GetImeMode

-
17 IME 접근 권한이 없는 프로세스

SetImeMode, GetImeMode

-
18 IME 핸들 획득 실패

SetImeMode, GetImeMode

-
19 IME 변경 실패

SetImeMode, GetImeMode

-

1. 타이틀 기반 프로세스 구동 체크

API명

  • WinInfo.CheckProcessRunningByTitle

정의

  • 타이틀을 기반으로 특정 프로세스가 현재 구동 중인지 확인합니다.

호출예시

{
  "service":"WinInfo.CheckProcessRunningByTitle",
  "requestKey":"Random Request Key",
  "param":{ 
    "processTitle":"TOMATO SYSTEM"
  }
}
  • processTitle
    • 검색할 프로세스 타이틀.

응답예시

{
  "service":"WinInfo.CheckProcessRunningByTitle",
  "requestKey":"976a-75cf-5b52",
  "statusCode":"0000",
  "return":{
    "returnValue":0,
    "isRunning":true
  }
}
  • returnValue
    • 서비스 상태 코드.
  • isRunning: 프로세스 구동 여부
    • true: 구동 중.
    • false: 구동 중이지 않음.

2. PID 기반 프로세스 구동 체크

API명

  • WinInfo.CheckProcessRunningByPID

정의

  • 프로세스 ID(PID)를 기반으로 특정 프로세스가 현재 구동 중인지 확인합니다.

호출예시

{
  "service": "WinInfo.CheckProcessRunningByPID",
  "requestKey": "Random Request Key",
  "param": { 
    "processId": "28700"
  }
}
  • processId
    • 검색할 프로세스 ID(PID).

응답예시

{
  "service":"WinInfo.CheckProcessRunningByTitle",
  "requestKey":"976a-75cf-5b52",
  "statusCode":"0000",
  "return":{
    "returnValue":0,
    "isRunning":true
  }
}
  • returnValue
    • 서비스 상태 코드.
  • isRunning: 프로세스 구동 여부
    • true: 구동 중.
    • false: 구동 중이지 않음.

3. 타이틀 기반 특정 프로세스 창 이동

API명

  • WinInfo.SetWindowPosition

정의

  • 특정 타이틀을 가지는 프로세스의 창(Window)을 특정 모니터의 특정 좌표(left, top)으로 이동합니다.

모니터와 관련된 정보는 "모니터 관련 서비스" 문서를 참고하시길 바랍니다.

설명

  • 시스템은 모니터와, 프로세스 창의 좌표 및 해상도를 다음과 같이 식별합니다.

K-018.png

<Windows 모니터 및 프로세스 창 해상도 식별 방식>

호출예시

{
  "service": "WinInfo.SetWindowPosition",
  "requestKey": "Random Request Key",
  "param": { 
    "processTitle": "TOMATOSYSTEM",
    "screenIndex": 1,
    "screenSizeMode": 1,
    "left": 0,
    "top": 0,
    "width": 900,
    "height": 800
  }
}
  • processTitle
    • 검색할 프로세스 창의 타이틀.
  • screenIndex
    • 프로세스 창을 이동 시킬 모니터 인덱스
    • 시스템이 인식하는 모니터 명칭에서 숫자 값. (예: DISPLAY4 → 4)
  • screenSizeMode: 창의 표시 상태.
    • 1: 일반 모드 (left, top, width, height 지정 가능)
    • 2: 창 최대화 (left, top, width, height 지정 불가)
    • 3: 창 최소화 (left, top, width, height 지정 불가)
  • left
    • 창을 이동 시킬 좌측 좌표 값.
    • 창을 이동 시킬 모니터의 left ~ (left + 모니터 width) 범위 내의 값을 입력.
    • screenSizeMode가 2 또는 3인 경우 0 입력.
  • top
    • 창을 이동 시킬 상단 좌표 값.
    • 창을 이동 시킬 모니터의 top ~ (top + 모니터 height) 범위 내의 값을 입력.
    • screenSizeMode가 2 또는 3인 경우 0 입력.
  • width
    • 창의 가로 길이.
  • height
    • 창의 세로 길이.

응답예시

{
  "service":"WinInfo.SetWindowPosition",
  "requestKey":"호출시 사용한 Request Key",
  "statusCode":"0000",
  "return":0
}
  • return
    • 서비스 상태 코드.

4. 타이틀 기반 특정 프로세스 창 최상단 배치

API명

  • WinInfo.BringWindowToTop

정의

  • 특정 타이틀을 가지는 프로세스의 창(Window)을 모든 창 중 가장 최상단으로 위치 시킵니다.

호출예시

{
  "service": "WinInfo.BringWindowToTop",
  "requestKey": "Random Request Key",
  "param": { 
    "processTitle": "TOMATOSYSTEM"
  }
}
  • processTitle
    • 검색할 프로세스의 타이틀.

응답예시

{
  "service":"WinInfo.BringWindowToTop",
  "requestKey":"호출시 사용한 Request Key",
  "statusCode":"0000",
  "return":0
}

5. PID 기반 특정 프로세스 창 이동

API명

  • WinInfo.SetProcessWindowPosition

정의

  • 특정 프로세스 ID(PID)를 가지는 프로세스의 창(Window)을 특정 모니터의 특정 좌표(left, top)으로 이동합니다.

모니터와 관련된 정보는 "모니터 관련 서비스" 문서를 참고하시길 바랍니다.

설명

  • 시스템은 모니터와, 프로세스 창의 좌표 및 해상도를 다음과 같이 식별합니다.

K-018.png

<Windows 모니터 및 프로세스 창 해상도 식별 방식>

호출예시

{
  "service": "WinInfo.SetProcessWindowPosition",
  "requestKey": "Random Request Key",
  "param": { 
    "processId": "28700",
    "screenIndex": 1,
    "screenSizeMode": 1,
    "left": 0,
    "top": 0,
    "width": 900,
    "height": 800
  }
}
  • processId
    • 검색할 프로세스 ID.
  • screenIndex
    • 프로세스 창을 이동 시킬 모니터 인덱스
    • 시스템이 인식하는 모니터 명칭에서 숫자 값. (예: DISPLAY4 → 4)
  • screenSizeMode: 창의 표시 상태.
    • 1: 일반 모드 (left, top, width, height 지정 가능)
    • 2: 창 최대화 (left, top, width, height 지정 불가)
    • 3: 창 최소화 (left, top, width, height 지정 불가)
  • left
    • 창을 이동 시킬 좌측 좌표 값.
    • 창을 이동 시킬 모니터의 left ~ (left + 모니터 width) 범위 내의 값을 입력.
    • screenSizeMode가 2 또는 3인 경우 0 입력.
  • top
    • 창을 이동 시킬 상단 좌표 값.
    • 창을 이동 시킬 모니터의 top ~ (top + 모니터 height) 범위 내의 값을 입력.
    • screenSizeMode가 2 또는 3인 경우 0 입력.
  • width
    • 창의 가로 길이.
  • height
    • 창의 세로 길이.

응답예시

{
  "service":"WinInfo.SetProcessWindowPosition",
  "requestKey":"호출시 사용한 Request Key",
  "statusCode":"0000",
  "return":0
}
  • return
    • 서비스 상태 코드.

6. 프로세스 IME 모드 변경

API명

  • WinInfo.SetImeMode

정의

  • 대상 프로세스의 IME 모드를 변경한다.
  • 현재 테스트를 위해 다음 브라우저만 허용.
    • "chrome", "msedge", "whale", "firefox", "iexplore", "opera" 
  • IME Mode는 입력 가능한 입력기(textbox, textarea 등)에 focus가 가 있어야 변경 가능하다.

호출예시

{
  "service": "WinInfo.SetImeMode",
  "requestKey": "Random Request Key",
  "param": { 
    "toNative": true
  }
}
  • toNative: IME 입력기에 설정된 원어로 변경할지 여부. (ex. 한국어 입력기에서 원어: "한글")
    • true: 원어로 설정한다.
    • false: 영어로 설정한다.

응답예시

{
  "service":"WinInfo.SetImeMode",
  "requestKey":"호출시 사용한 Request Key",
  "statusCode":"0000",
  "return":0
}
  • return
    • 서비스 상태 코드.

7. 프로세스 IME 모드 획득

API명

  • WinInfo.GetImeMode

정의

  • 대상 프로세스에 현재 설정된 IME 모드를 획득한다.
  • 현재 테스트를 위해 다음 브라우저만 허용.
    • "chrome", "msedge", "whale", "firefox", "iexplore", "opera" 
  • IME Mode는 입력 가능한 입력기(textbox, textarea 등)에 focus가 가 있어야 획득 가능하다.

호출예시

{
  "service": "WinInfo.GetImeMode",
  "requestKey": "Random Request Key",
  "param": {}
}

응답예시

{
  "service":"WinInfo.GetImeMode",
  "requestKey":"호출시 사용한 Request Key",
  "statusCode":"0000",
  "return":{
    "returnValue":0,
    "isNative":true
  }
}
  • return
    • 서비스 상태 코드.
  • isNative: IME 입력기에 설정된 언어 정보. (ex. 한국어 입력기에서 원어: "한글")
    • true: 원어로 설정되어 있음.
    • false: 영어로 설정되어 있음.