메인 항목으로

스크린샷 관련 서비스

 특정 모니터 또는 특정 프로세스 창의 스크린샷을 획득 또는 저장하기 위한 기능들을 제공합니다.

 본 서비스에서 eXDevice+가 인식하는 프로세스의 창 영역은 다음과 같습니다.

image.png

<eXDevice+가 인식하는 프로세스 창 영역>

 또한 웹 브라우저의 경우 Windows 정책 상 현재 포커스 된 창의 포커스 된 탭의 타이틀만 식별할 수 있습니다. 즉, 특정 브라우저에 포커스가 가 있지 않은 경우 해당 브라우저의 마지막으로 오픈한 창의 오픈된 탭의 타이틀을 검색할 수 있습니다.

image.png

<eXDevice+ 브라우저 타이틀 인식 예시>

서비스 리스트

 스크린샷 관련 서비스 리스트는 다음과 같습니다.

No. 서비스명 API명 비고
1 모니터 스크린샷 획득 WinInfo.GetScreenShot  
2 모니터 스크린샷 저장 WinInfo.SaveScreenShot  
3 타이틀 기반 프로세스 창 스크린샷 획득 WinInfo.GetWindowScreenShot  
4 타이틀 기반 프로세스 창 스크린샷 저장 WinInfo.SaveWindowScreenShot  

서비스 상태 코드 리스트

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

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

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

GetScreenShot,

SaveScreenShot

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

GetScreenShot,

SaveScreenShot

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

GetWindowScreenShot,

SaveWindowScreenShot,

GetProcessScreenShot,

SaveProcessScreenShot

 
10 창 최소화 모드에서 스크린샷 획득 불가

GetWindowScreenShot,

SaveWindowScreenShot,

GetProcessScreenShot,

SaveProcessScreenShot


11 스크린샷 획득 실패

GetWindowScreenShot,

SaveWindowScreenShot,

GetProcessScreenShot,

SaveProcessScreenShot


12 파일 저장 실패

SaveScreenShot,

SaveWindowScreenShot,

SaveProcessScreenShot

 

1. 모니터 스크린샷 획득

API명

  • WinInfo.GetScreenShot

정의

  • 지정한 모니터의 화면을 캡처하고, 캡처한 이미지를 Base64 String으로 획득합니다.

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

호출예시

{
  "service":"WinInfo.GetScreenShot",
  "requestKey":"Random Request Key",
  "param":{ 
    "screenIndex": 4
  }
}
  • screenIndex
    • 화면을 캡처할 모니터 인덱스.
    • 시스템이 인식하는 모니터 명칭에서 숫자 값. (예: DISPLAY4 → 4)

응답예시

{
  "service":"WinInfo.GetScreenShot",
  "requestKey":"호출시 사용한 Request Key",
  "statusCode":"0000",
  "return":{
    "returnValue":0,
    "screenShotBase64":"/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAMCAgMCAgMDAwMEA..."
  }
}
  • returnValue
    • 서비스 상태 코드.
  • screenShotBase64
    • Base64 String 데이터로 인코딩 된 모니터 스크린샷 데이터.

2. 모니터 스크린샷 저장

API명

  • WinInfo.SaveScreenShot

정의

  • 지정한 모니터의 화면을 캡처하고, 캡처한 이미지를 로컬 디스크에 저장합니다.

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

호출예시

{
  "service": "WinInfo.SaveScreenShot",
  "requestKey": "Random Request Key",
  "param": { 
    "screenIndex": 4,
    "filePath": "D:\\test.jpg"
  }
}
  • screenIndex
    • 화면을 캡처할 모니터 인덱스.
    • 시스템이 인식하는 모니터 명칭에서 숫자 값. (예: DISPLAY4 → 4)
  • filePath
    • 스크린샷을 저장할 로컬 파일 경로.

응답예시

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

3. 타이틀 기반 프로세스 창 스크린샷 획득

API명

  • WinInfo.GetWindowScreenShot

정의

  • 타이틀을 가지는 프로세스의 창(Window)을 찾고, 해당 창을 캡쳐한 이미지를 Base64 String으로 획득합니다.

프로세스의 창이 최소화 모드인 경우 해당 창의 스크린샷을 획득할 수 없습니다.

호출예시

{
  "service":"WinInfo.GetWindowScreenShot",
  "requestKey":"Random Request Key",
  "param": {
    "processTitle":"TOMATOSYSTEM"
  }
}
  • processTitle
    • 캡쳐할 프로세스 창의 타이틀.

응답예시

{
  "service":"WinInfo.GetWindowScreenShot",
  "requestKey":"호출시 사용한 Request Key",
  "statusCode":"0000",
  "return":{
    "returnValue":0,
    "screenShotBase64":"/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAA..."
  }
}
  • returnValue
    • 서비스 상태 코드.
  • screenShotBase64
    • Base64 String 데이터로 인코딩 된 프로세스 창 스크린샷 데이터.

4. 타이틀 기반 프로세스 창 스크린샷 저장

API명

  • WinInfo.SaveWindowScreenShot

정의

  • 타이틀을 가지는 프로세스의 창(Window)을 찾고, 해당 창을 캡처한 이미지를 로컬 디스크에 저장합니다.

프로세스의 창이 최소화 모드인 경우 해당 창의 스크린샷을 획득할 수 없습니다.

호출예시

{
  "service":"WinInfo.SaveWindowScreenShot",
  "requestKey":"Random Request Key...",
  "param":{
    "processTitle":"TOMATOSYSTEM",
    "filePath":"C:\\test.jpg"
  }
}
  • processTitle
    • 캡쳐할 프로세스 창의 타이틀.
  • filePath
    • 스크린샷을 저장할 로컬 파일 경로.

응답예시

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

5. PID 기반 프로세스 창 스크린샷 획득

API명

  • WinInfo.GetProcessScreenShot

정의

  • 특정 프로세스 ID(PID)를 가지는 프로세스 창(Window)을 찾고, 해당 창을 캡쳐한 이미지를 Base64 String으로 획득합니다.

프로세스의 창이 최소화 모드인 경우 해당 창의 스크린샷을 획득할 수 없습니다.

호출예시

{
  "service":"WinInfo.GetProcessScreenShot",
  "requestKey":"Random Request Key",
  "param":{
    "processId":1234
  }
}
  • processId
    • 검색할 프로세스 ID.

응답예시

{
  "service":"WinInfo.GetProcessScreenShot",
  "requestKey":"호출시 사용한 Request Key",
  "statusCode":"0000",
  "return":{
    "returnValue":0,
    "screenShotBase64":"/9j/4AAQSkZJRgABAQEAYABgAAD/2w..."
  }
}
  • returnValue
    • 서비스 상태 코드.
  • screenShotBase64
    • Base64 String 데이터로 인코딩 된 프로세스 창 스크린샷 데이터.

6. PID 기반 프로세스 창 스크린샷 저장

API명

  • WinInfo.SaveWindowScreenShot

정의

  • 특정 프로세스 ID(PID)를 가지는 프로세스 창(Window)을 찾고, 해당 창을 캡쳐한 이미지를 로컬 디스크에 저장합니다.

호출예시

{
  "service":"WinInfo.SaveProcessScreenShot",
  "requestKey":"Random Request Key",
  "param":{
    "processId":1234,
    "filePath":"C:\\test.jpg"
  }
}
  • processId
    • 검색할 프로세스 ID.
  • filePath
    • 스크린샷을 저장할 로컬 경로.

응답예시

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