GetSystemMetrics 함수(winuser.h)

지정된 시스템 메트릭 또는 시스템 구성 설정을 검색합니다.

GetSystemMetrics에서 검색된 모든 차원은 픽셀 단위입니다.

구문

int GetSystemMetrics(
  [in] int nIndex
);

매개 변수

[in] nIndex

형식: int

검색할 시스템 메트릭 또는 구성 설정입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다. 모든 SM_CX* 값은 너비이고 모든 SM_CY* 값은 높이입니다. 또한 부울 데이터를 반환하도록 설계된 모든 설정은 TRUE 를 0이 아닌 값으로, FALSE 를 0 값으로 나타냅니다.

의미
SM_ARRANGE
56
시스템이 최소화된 창을 정렬하는 방법을 지정하는 플래그입니다. 자세한 내용은 이 항목의 설명 섹션을 참조하세요.
SM_CLEANBOOT
67
시스템 시작 방법을 지정하는 값입니다.
  • 0 일반 부팅
  • 1 장애 조치(fail-safe) 부팅
  • 2 네트워크 부팅으로 장애 조치(fail-safe)
안전 부팅(SafeBoot, 안전 모드 또는 클린 부팅이라고도 함)은 사용자 시작 파일을 무시합니다.
SM_CMONITORS
80
데스크톱의 디스플레이 모니터 수입니다. 자세한 내용은 이 항목의 설명 섹션을 참조하세요.
SM_CMOUSEBUTTONS
43
마우스의 단추 수이거나 마우스가 설치되지 않은 경우 0입니다.
SM_CONVERTIBLESLATEMODE
0x2003
노트북 또는 슬레이트 모드의 상태를 반영하고, 슬레이트 모드의 경우 0, 그렇지 않으면 0이 아닌 상태를 반영합니다. 이 시스템 메트릭이 변경되면 시스템은 LPARAM 에서 "ConvertibleSlateMode"가 있는 WM_SETTINGCHANGE 통해 브로드캐스트 메시지를 보냅니다. 이 시스템 메트릭은 데스크톱 PC에 적용되지 않습니다. 이 경우 GetAutoRotationState를 사용합니다.
SM_CXBORDER
5
창 테두리의 너비(픽셀)입니다. 이는 3D 모양이 있는 창의 SM_CXEDGE 값과 동일합니다.
SM_CXCURSOR
13
커서의 명목 너비(픽셀)입니다.
SM_CXDLGFRAME
7
이 값은 SM_CXFIXEDFRAME 같습니다.
SM_CXDOUBLECLK
36
두 번 클릭 시퀀스에서 첫 번째 클릭 위치 주위의 사각형 너비(픽셀)입니다. 두 번째 클릭은 SM_CXDOUBLECLK 정의한 사각형 내에서 발생해야 하며 시스템에서 두 번의 클릭을 두 번 클릭하는 것을 고려하도록 SM_CYDOUBLECLK. 두 번의 클릭도 지정된 시간 내에 발생해야 합니다.

두 번 클릭 사각형의 너비를 설정하려면 SPI_SETDOUBLECLKWIDTH 사용하여 SystemParametersInfo 를 호출합니다.

SM_CXDRAG
68
끌기 작업이 시작되기 전에 마우스 포인터가 이동할 수 있는 마우스 아래쪽 점의 양쪽 픽셀 수입니다. 이렇게 하면 사용자가 의도치 않게 끌기 작업을 시작하지 않고 마우스 단추를 쉽게 클릭하고 놓을 수 있습니다. 이 값이 음수이면 마우스 아래쪽 점의 왼쪽에서 빼고 오른쪽에 추가됩니다.
SM_CXEDGE
45
3D 테두리의 너비(픽셀)입니다. 이 메트릭은 SM_CXBORDER 3D 대응입니다.
SM_CXFIXEDFRAME
7
캡션 있지만 크기가 조정할 수 없는 창 둘레의 프레임 두께(픽셀)입니다. SM_CXFIXEDFRAME 가로 테두리의 높이이고 SM_CYFIXEDFRAME 세로 테두리의 너비입니다.

이 값은 SM_CXDLGFRAME 같습니다.

SM_CXFOCUSBORDER
83
DrawFocusRect에서 그리는 포커스 사각형의 왼쪽 및 오른쪽 가장자리 너비입니다. 이 값은 픽셀 단위입니다.

Windows 2000: 이 값은 지원되지 않습니다.

SM_CXFRAME
32
이 값은 SM_CXSIZEFRAME 같습니다.
SM_CXFULLSCREEN
16
기본 디스플레이 모니터의 전체 화면 창에 대한 클라이언트 영역의 너비(픽셀)입니다. 시스템 작업 표시줄 또는 애플리케이션 데스크톱 도구 모음에 의해 가려지지 않은 화면 부분의 좌표를 얻으려면 SPI_GETWORKAREA 값을 사용하여 SystemParametersInfo 함수를 호출합니다.
SM_CXHSCROLL
21
가로 스크롤 막대의 화살표 비트맵 너비(픽셀)입니다.
SM_CXHTHUMB
10
가로 스크롤 막대에 있는 엄지 상자의 너비(픽셀)입니다.
SM_CXICON
11
아이콘의 시스템 큰 너비(픽셀)입니다. LoadIcon 함수는 SM_CXICON 및 SM_CYICON 지정한 차원의 아이콘만 로드할 수 있습니다. 자세한 내용은 아이콘 크기를 참조하세요.
SM_CXICONSPACING
38
큰 아이콘 보기의 항목에 대한 그리드 셀의 너비(픽셀)입니다. 각 항목은 정렬될 때 SM_CYICONSPACING SM_CXICONSPACING 크기의 사각형에 맞습니다. 이 값은 항상 SM_CXICON 보다 크거나 같습니다.
SM_CXMAXIMIZED
61
기본 디스플레이 모니터에서 최대화된 최상위 창의 기본 너비(픽셀)입니다.
SM_CXMAXTRACK
59
캡션 및 크기 조정 테두리가 픽셀 단위인 창의 기본 최대 너비입니다. 이 메트릭은 전체 데스크톱을 나타냅니다. 사용자는 창 프레임을 이러한 차원보다 큰 크기로 끌 수 없습니다. 창은 WM_GETMINMAXINFO 메시지를 처리하여 이 값을 재정의할 수 있습니다.
SM_CXMENUCHECK
71
기본 메뉴 검사 비트맵의 너비(픽셀)입니다.
SM_CXMENUSIZE
54
여러 문서 인터페이스에 사용되는 자식 창 닫기 단추와 같은 메뉴 모음 단추의 너비(픽셀)입니다.
SM_CXMIN
28
창의 최소 너비(픽셀)입니다.
SM_CXMINIMIZED
57
최소화된 창의 너비(픽셀)입니다.
SM_CXMINSPACING
47
최소화된 창의 그리드 셀 너비(픽셀)입니다. 각 최소화된 창은 정렬될 때 이 크기의 사각형에 맞습니다. 이 값은 항상 SM_CXMINIMIZED 보다 크거나 같습니다.
SM_CXMINTRACK
34
창의 최소 추적 너비(픽셀)입니다. 사용자는 창 프레임을 이러한 차원보다 작은 크기로 끌 수 없습니다. 창은 WM_GETMINMAXINFO 메시지를 처리하여 이 값을 재정의할 수 있습니다.
SM_CXPADDEDBORDER
92
캡션 창의 테두리 안쪽 여백 양(픽셀)입니다.

Windows XP/2000: 이 값은 지원되지 않습니다.

SM_CXSCREEN
0
기본 디스플레이 모니터의 화면 너비(픽셀)입니다. 이 값은 다음과 같이 GetDeviceCaps를 호출하여 얻은 값과 같습니다. GetDeviceCaps( hdcPrimaryMonitor, HORZRES)
SM_CXSIZE
30
창 캡션 또는 제목 표시줄에 있는 단추의 너비(픽셀)입니다.
SM_CXSIZEFRAME
32
크기가 조정될 수 있는 창 둘레의 크기 조정 테두리 두께(픽셀)입니다. SM_CXSIZEFRAME 가로 테두리의 너비이고 SM_CYSIZEFRAME 세로 테두리의 높이입니다.

이 값은 SM_CXFRAME 같습니다.

SM_CXSMICON
49
아이콘의 시스템 너비(픽셀)입니다. 작은 아이콘은 일반적으로 창 캡션 및 작은 아이콘 보기에 표시됩니다. 자세한 내용은 아이콘 크기를 참조하세요.
SM_CXSMSIZE
52
작은 캡션 단추의 너비(픽셀)입니다.
SM_CXVIRTUALSCREEN
78
가상 화면의 너비(픽셀)입니다. 가상 화면은 모든 디스플레이 모니터의 경계 사각형입니다. SM_XVIRTUALSCREEN 메트릭은 가상 화면의 왼쪽에 대한 좌표입니다.
SM_CXVSCROLL
2
세로 스크롤 막대의 너비(픽셀)입니다.
SM_CYBORDER
6
창 테두리의 높이(픽셀)입니다. 이는 3D 모양이 있는 창의 SM_CYEDGE 값과 동일합니다.
SM_CYCAPTION
4
캡션 영역의 높이(픽셀)입니다.
SM_CYCURSOR
14
커서의 명목 높이(픽셀)입니다.
SM_CYDLGFRAME
8
이 값은 SM_CYFIXEDFRAME 같습니다.
SM_CYDOUBLECLK
37
두 번 클릭 시퀀스에서 첫 번째 클릭 위치 주위의 사각형 높이(픽셀)입니다. 두 번째 클릭은 SM_CXDOUBLECLK 정의된 사각형 내에서 발생해야 하며 시스템에서 두 번의 클릭을 두 번 클릭하는 것을 고려하도록 SM_CYDOUBLECLK. 두 번의 클릭도 지정된 시간 내에 발생해야 합니다.

두 번 클릭 사각형의 높이를 설정하려면 SPI_SETDOUBLECLKHEIGHT 있는 SystemParametersInfo 를 호출합니다.

SM_CYDRAG
69
끌기 작업이 시작되기 전에 마우스 포인터가 이동할 수 있는 마우스 아래쪽 지점 위와 아래의 픽셀 수입니다. 이렇게 하면 사용자가 의도치 않게 끌기 작업을 시작하지 않고 마우스 단추를 쉽게 클릭하고 놓을 수 있습니다. 이 값이 음수이면 마우스 아래쪽 지점 위에서 빼고 그 아래에 추가됩니다.
SM_CYEDGE
46
3차원 테두리의 높이(픽셀)입니다. 이는 SM_CYBORDER 3D 대응입니다.
SM_CYFIXEDFRAME
8
캡션 있지만 크기가 조정할 수 없는 창 둘레의 프레임 두께(픽셀)입니다. SM_CXFIXEDFRAME 가로 테두리의 높이이고 SM_CYFIXEDFRAME 세로 테두리의 너비입니다.

이 값은 SM_CYDLGFRAME 같습니다.

SM_CYFOCUSBORDER
84
DrawFocusRect에서 그린 포커스 사각형의 위쪽 및 아래쪽 가장자리 높이입니다. 이 값은 픽셀 단위입니다.

Windows 2000: 이 값은 지원되지 않습니다.

SM_CYFRAME
33
이 값은 SM_CYSIZEFRAME 동일합니다.
SM_CYFULLSCREEN
17
기본 디스플레이 모니터의 전체 화면 창에 대한 클라이언트 영역의 높이(픽셀)입니다. 시스템 작업 표시줄 또는 애플리케이션 데스크톱 도구 모음에 의해 가려지지 않은 화면 부분의 좌표를 얻으려면 SPI_GETWORKAREA 값으로 SystemParametersInfo 함수를 호출합니다.
SM_CYHSCROLL
3
가로 스크롤 막대의 높이(픽셀)입니다.
SM_CYICON
12
아이콘의 시스템 높이(픽셀)입니다. LoadIcon 함수는 SM_CXICON 및 SM_CYICON 지정한 차원의 아이콘만 로드할 수 있습니다. 자세한 내용은 아이콘 크기를 참조하세요.
SM_CYICONSPACING
39
큰 아이콘 보기의 항목에 대한 그리드 셀의 높이(픽셀)입니다. 각 항목은 정렬될 때 SM_CYICONSPACING SM_CXICONSPACING 크기의 사각형에 맞습니다. 이 값은 항상 SM_CYICON 보다 크거나 같습니다.
SM_CYKANJIWINDOW
18
시스템의 더블 바이트 문자 집합 버전의 경우 화면 아래쪽에 있는 간지 창의 높이(픽셀)입니다.
SM_CYMAXIMIZED
62
기본 디스플레이 모니터에서 최대화된 최상위 창의 기본 높이(픽셀)입니다.
SM_CYMAXTRACK
60
캡션 및 크기 조정 테두리가 있는 창의 기본 최대 높이(픽셀)입니다. 이 메트릭은 전체 데스크톱을 참조합니다. 사용자는 창 프레임을 이러한 차원보다 큰 크기로 끌 수 없습니다. 창은 WM_GETMINMAXINFO 메시지를 처리하여 이 값을 재정의할 수 있습니다.
SM_CYMENU
15
한 줄 메뉴 모음의 높이(픽셀)입니다.
SM_CYMENUCHECK
72
기본 메뉴의 높이는 비트맵을 픽셀 단위로 표시할 검사.
SM_CYMENUSIZE
55
여러 문서 인터페이스에서 사용되는 자식 창 닫기 단추와 같은 메뉴 모음 단추의 높이(픽셀)입니다.
SM_CYMIN
29
창의 최소 높이(픽셀)입니다.
SM_CYMINIMIZED
58
최소화된 창의 높이(픽셀)입니다.
SM_CYMINSPACING
48
최소화된 창의 그리드 셀 높이(픽셀)입니다. 최소화된 각 창은 정렬될 때 이 크기의 사각형에 맞습니다. 이 값은 항상 SM_CYMINIMIZED 보다 크거나 같습니다.
SM_CYMINTRACK
35
창의 최소 추적 높이(픽셀)입니다. 사용자는 창 프레임을 이러한 차원보다 작은 크기로 끌 수 없습니다. 창은 WM_GETMINMAXINFO 메시지를 처리하여 이 값을 재정의할 수 있습니다.
SM_CYSCREEN
1
기본 디스플레이 모니터의 화면 높이(픽셀)입니다. 이 값은 다음과 같이 GetDeviceCaps를 호출하여 얻은 값과 같습니다 GetDeviceCaps( hdcPrimaryMonitor, VERTRES).
SM_CYSIZE
31
창 캡션 또는 제목 표시줄에 있는 단추의 높이(픽셀)입니다.
SM_CYSIZEFRAME
33
크기를 조정할 수 있는 창 둘레의 크기 조정 테두리 두께(픽셀)입니다. SM_CXSIZEFRAME 가로 테두리의 너비이고 SM_CYSIZEFRAME 세로 테두리의 높이입니다.

이 값은 SM_CYFRAME 같습니다.

SM_CYSMCAPTION
51
작은 캡션 높이(픽셀)입니다.
SM_CYSMICON
50
아이콘의 시스템 작은 높이(픽셀)입니다. 작은 아이콘은 일반적으로 창 캡션 및 작은 아이콘 보기에 표시됩니다. 자세한 내용은 아이콘 크기를 참조하세요.
SM_CYSMSIZE
53
작은 캡션 단추의 높이(픽셀)입니다.
SM_CYVIRTUALSCREEN
79
가상 화면의 높이(픽셀)입니다. 가상 화면은 모든 디스플레이 모니터의 경계 사각형입니다. SM_YVIRTUALSCREEN 메트릭은 가상 화면 위쪽의 좌표입니다.
SM_CYVSCROLL
20
세로 스크롤 막대의 화살표 비트맵 높이(픽셀)입니다.
SM_CYVTHUMB
9
세로 스크롤 막대의 엄지 상자 높이(픽셀)입니다.
SM_DBCSENABLED
42
User32.dll DBCS를 지원하는 경우 0이 아닌 경우 그렇지 않으면 0입니다.
SM_DEBUG
22
디버그 버전의 User.exe 설치된 경우 0이 아닌 경우 그렇지 않으면 0입니다.
SM_DIGITIZER
94
현재 운영 체제가 Windows 7 또는 Windows Server 2008 R2이고 태블릿 PC 입력 서비스가 시작된 경우 0이 아닌 경우 그렇지 않으면 0입니다. 반환 값은 디바이스에서 지원하는 디지타이저 입력 유형을 지정하는 비트 마스크입니다. 자세한 내용은 설명 부분을 참조하세요.

Windows Server 2008, Windows Vista 및 Windows XP/2000: 이 값은 지원되지 않습니다.

SM_IMMENABLED
82
입력 메서드 관리자/입력 메서드 편집기 기능이 사용하도록 설정된 경우 0이 아닌 경우 이고, 그렇지 않으면 0입니다.

SM_IMMENABLED 시스템이 유니코드 애플리케이션에서 유니코드 기반 IME를 사용할 준비가 되었는지 여부를 나타냅니다. 언어 종속 IME가 작동하는지 확인하려면 및 시스템 ANSI 코드 페이지를 검사 SM_DBCSENABLED. 그렇지 않으면 ANSI-유니코드 변환이 올바르게 수행되지 않거나 글꼴 또는 레지스트리 설정과 같은 일부 구성 요소가 없을 수 있습니다.

SM_MAXIMUMTOUCHES
95
시스템에 디지타이저가 있는 경우 0이 아닙니다. 그렇지 않으면 0입니다.

SM_MAXIMUMTOUCHES 시스템의 모든 디지타이저에서 지원하는 최대 연락처 수의 집계 최대값을 반환합니다. 시스템에 단일 터치 디지타이저만 있는 경우 반환 값은 1입니다. 시스템에 멀티 터치 디지타이저가 있는 경우 반환 값은 하드웨어가 제공할 수 있는 동시 접점 수입니다.

Windows Server 2008, Windows Vista 및 Windows XP/2000: 이 값은 지원되지 않습니다.

SM_MEDIACENTER
87
현재 운영 체제가 Windows XP, Media Center Edition인 경우 0이 아닌 경우 0이 아닙니다.
SM_MENUDROPALIGNMENT
40
드롭다운 메뉴가 해당 메뉴 모음 항목과 오른쪽 맞춤된 경우 0이 아닌 경우 메뉴가 왼쪽 맞춤인 경우 0입니다.
SM_MIDEASTENABLED
74
시스템이 히브리어 및 아랍어 언어에 대해 사용하도록 설정된 경우 0이 아닌 경우 0입니다.
SM_MOUSEPRESENT
19
마우스가 설치된 경우 0이 아닌 경우 그렇지 않으면 0입니다. 이 값은 가상 마우스에 대한 지원과 일부 시스템에서 마우스가 있는 대신 포트의 존재를 감지하기 때문에 거의 0이 아닙니다.
SM_MOUSEHORIZONTALWHEELPRESENT
91
가로 스크롤 휠이 있는 마우스가 설치된 경우 0이 아닌 경우 그렇지 않으면 0입니다.
SM_MOUSEWHEELPRESENT
75
세로 스크롤 휠이 있는 마우스가 설치된 경우 0이 아닌 경우 그렇지 않으면 0입니다.
SM_NETWORK
63
네트워크가 있는 경우 가장 작은 비트가 설정됩니다. 그렇지 않으면 지워집니다. 다른 비트는 나중에 사용하기 위해 예약되어 있습니다.
SM_PENWINDOWS
41
펜용 Microsoft Windows 컴퓨팅 확장이 설치된 경우 0이 아닌 경우 그렇지 않으면 0입니다.
SM_REMOTECONTROL
0x2001
이 시스템 메트릭은 터미널 서비스 환경에서 현재 터미널 서버 세션이 원격으로 제어되고 있는지 확인하는 데 사용됩니다. 현재 세션이 원격으로 제어되는 경우 해당 값은 0이 아닌 값입니다. 그렇지 않으면 0입니다.

터미널 서비스 관리자(tsadmin.msc) 및 shadow.exe 같은 터미널 서비스 관리 도구를 사용하여 원격 세션을 제어할 수 있습니다. 세션이 원격으로 제어되는 경우 다른 사용자가 해당 세션의 콘텐츠를 보고 잠재적으로 상호 작용할 수 있습니다.

SM_REMOTESESSION
0x1000
이 시스템 메트릭은 터미널 서비스 환경에서 사용됩니다. 호출 프로세스가 Terminal Services 클라이언트 세션과 연결된 경우 반환 값은 0이 아닌 값입니다. 호출 프로세스가 터미널 서비스 콘솔 세션과 연결된 경우 반환 값은 0입니다. Windows Server 2003 및 Windows XP: 콘솔 세션이 물리적 콘솔일 필요는 없습니다. 자세한 내용은 WTSGetActiveConsoleSessionId를 참조하세요.
SM_SAMEDISPLAYFORMAT
81
모든 디스플레이 모니터의 색 형식이 0이 아니면 0이 아닌 경우 0이 됩니다. 두 디스플레이의 비트 깊이는 동일하지만 색 형식은 다를 수 있습니다. 예를 들어 빨간색, 녹색 및 파란색 픽셀은 서로 다른 비트 수로 인코딩하거나 해당 비트를 픽셀 색 값의 다른 위치에 배치할 수 있습니다.
SM_SECURE
44
이 시스템 메트릭은 무시해야 합니다. 항상 0을 반환합니다.
SM_SERVERR2
89
시스템이 Windows Server 2003 R2인 경우 빌드 번호입니다. 그렇지 않으면 0입니다.
SM_SHOWSOUNDS
70
사용자가 응용 프로그램에서 정보를 시각적으로 표시하도록 요구하는 경우 0이 아닌 경우, 그렇지 않으면 가청 형식으로만 정보를 표시합니다. 그렇지 않으면 0입니다.
SM_SHUTTINGDOWN
0x2000
현재 세션이 종료되는 경우 0이 아닌 경우 그렇지 않으면 0입니다.

Windows 2000: 이 값은 지원되지 않습니다.

SM_SLOWMACHINE
73
컴퓨터에 로우 엔드(느린) 프로세서가 있는 경우 0이 아닌 경우 그렇지 않으면 0입니다.
SM_STARTER
88
현재 운영 체제가 Windows 7 Starter Edition, Windows Vista Starter 또는 Windows XP Starter Edition인 경우 0이 아닌 경우 그렇지 않으면 0입니다.
SM_SWAPBUTTON
23
왼쪽 및 오른쪽 마우스 단추의 의미가 교환되면 0이 아닌 값입니다. 그렇지 않으면 0입니다.
SM_SYSTEMDOCKED
0x2004
도킹 모드의 상태를 반영하고, 도킹 해제 모드의 경우 0이고, 그렇지 않으면 0이 아닌 상태를 반영합니다. 이 시스템 메트릭이 변경되면 시스템은 LPARAM에서 "SystemDockMode"가 있는 WM_SETTINGCHANGE 통해 브로드캐스트 메시지를 보냅니다.
SM_TABLETPC
86
현재 운영 체제가 Windows XP 태블릿 PC 버전이거나 현재 운영 체제가 Windows Vista 또는 Windows 7이고 태블릿 PC 입력 서비스가 시작된 경우 0이 아닌 경우 그렇지 않으면 0입니다. SM_DIGITIZER 설정은 Windows 7 또는 Windows Server 2008 R2를 실행하는 디바이스에서 지원하는 디지타이저 입력 유형을 나타냅니다. 자세한 내용은 설명 부분을 참조하세요.
SM_XVIRTUALSCREEN
76
가상 화면 왼쪽의 좌표입니다. 가상 화면은 모든 디스플레이 모니터의 경계 사각형입니다. SM_CXVIRTUALSCREEN 메트릭은 가상 화면의 너비입니다.
SM_YVIRTUALSCREEN
77
가상 화면 맨 위에 대한 좌표입니다. 가상 화면은 모든 디스플레이 모니터의 경계 사각형입니다. SM_CYVIRTUALSCREEN 메트릭은 가상 화면의 높이입니다.

반환 값

형식: int

함수가 성공하면 반환 값은 요청된 시스템 메트릭 또는 구성 설정입니다.

함수가 실패하면 반환 값은 0입니다. GetLastError 는 확장된 오류 정보를 제공하지 않습니다.

설명

시스템 메트릭은 표시마다 다를 수 있습니다.

GetSystemMetrics(SM_CMONITORS)는 표시되는 디스플레이 모니터만 계산합니다. 이는 표시되는 디스플레이 모니터와 미러링 드라이버와 연결된 보이지 않는 의사 모니터를 모두 열거하는 EnumDisplayMonitors와 다릅니다. 보이지 않는 의사 모니터는 원격 또는 기타 목적으로 애플리케이션 그리기를 미러 데 사용되는 의사 디바이스와 연결됩니다.

SM_ARRANGE 설정은 시스템이 최소화된 창을 정렬하는 방법을 지정하고 시작 위치와 방향으로 구성됩니다. 시작 위치는 다음 값 중 하나일 수 있습니다.

의미
ARW_BOTTOMLEFT 화면의 왼쪽 아래 모서리에서 시작합니다. 기본 위치입니다.
ARW_BOTTOMRIGHT 화면의 오른쪽 아래 모서리에서 시작합니다. ARW_STARTRIGHT 동일합니다.
ARW_TOPLEFT 화면의 왼쪽 위 모서리에서 시작합니다. ARW_STARTTOP 동일합니다.
ARW_TOPRIGHT 화면의 오른쪽 위 모서리에서 시작합니다. ARW_STARTTOP | SRW_STARTRIGHT.
 

최소화된 창을 정렬하는 방향은 다음 값 중 하나일 수 있습니다.

의미
ARW_DOWN 세로로 정렬하고 위쪽에서 아래쪽으로 정렬합니다.
ARW_HIDE 화면의 표시 영역에서 창을 이동하여 최소화된 창을 숨깁니다.
ARW_LEFT 가로, 왼쪽에서 오른쪽으로 정렬합니다.
ARW_RIGHT 가로, 오른쪽에서 왼쪽으로 정렬합니다.
ARW_UP 세로로 정렬하고 아래쪽에서 위쪽으로 정렬합니다.
 

SM_DIGITIZER 설정은 Windows 7 또는 Windows Server 2008 R2를 실행하는 디바이스에 설치된 디지타이저 유형을 지정합니다. 반환 값은 다음 값 중 하나 이상을 지정하는 비트 마스크입니다.

의미
NID_INTEGRATED_TOUCH

0x01

디바이스에는 통합 터치 디지타이저가 있습니다.
NID_EXTERNAL_TOUCH

0x02

디바이스에 외부 터치 디지타이저가 있습니다.
NID_INTEGRATED_PEN

0x04

디바이스에 통합 펜 디지타이저가 있습니다.
NID_EXTERNAL_PEN

0x08

디바이스에 외부 펜 디지타이저가 있습니다.
NID_MULTI_INPUT

0x40

디바이스는 여러 디지타이저 입력 원본을 지원합니다.
NID_READY

0x80

디바이스가 디지타이저 입력을 받을 준비가 된 것입니다.
 

이 API는 DPI를 인식하지 않으며 호출 스레드가 모니터당 DPI를 인식하는 경우 사용하면 안 됩니다. 이 API의 DPI 인식 버전은 GetSystemMetricsForDPI를 참조하세요. DPI 인식에 대한 자세한 내용은 Windows High DPI 설명서를 참조하세요.

예제

다음 예제에서는 GetSystemMetrics 함수를 사용하여 마우스가 설치되어 있는지 여부와 마우스 단추가 교환되는지 여부를 확인합니다. 또한 이 예제에서는 SystemParametersInfo 함수를 사용하여 마우스 임계값 및 속도를 검색합니다. 콘솔에 정보를 표시합니다.

#include <windows.h>
#include <stdio.h>
#pragma comment(lib, "user32.lib")

void main()
{
   BOOL fResult;
   int aMouseInfo[3];
 
   fResult = GetSystemMetrics(SM_MOUSEPRESENT); 
 
   if (fResult == 0) 
      printf("No mouse installed.\n"); 
   else 
   { 
      printf("Mouse installed.\n");

      // Determine whether the buttons are swapped. 

      fResult = GetSystemMetrics(SM_SWAPBUTTON); 
 
      if (fResult == 0) 
         printf("Buttons not swapped.\n"); 
      else printf("Buttons swapped.\n");
 
      // Get the mouse speed and the threshold values. 
 
      fResult = SystemParametersInfo(
         SPI_GETMOUSE,  // get mouse information 
         0,             // not used 
         &aMouseInfo,   // holds mouse information 
         0);            // not used 

      if( fResult )
      { 
         printf("Speed: %d\n", aMouseInfo[2]); 
         printf("Threshold (x,y): %d,%d\n", 
            aMouseInfo[0], aMouseInfo[1]); 
      }
   } 
}

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 winuser.h(Windows.h 포함)
라이브러리 User32.lib
DLL User32.dll
API 세트 ext-ms-win-ntuser-sysparams-ext-l1-1-0(Windows 8 도입)

추가 정보

EnumDisplayMonitors

GetSystemMetricsForDPI

SystemParametersInfo