GetSystemMetrics 함수(winuser.h)
지정된 시스템 메트릭 또는 시스템 구성 설정을 검색합니다.
GetSystemMetrics에서 검색된 모든 차원은 픽셀 단위입니다.
구문
int GetSystemMetrics(
[in] int nIndex
);
매개 변수
[in] nIndex
형식: int
검색할 시스템 메트릭 또는 구성 설정입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다. 모든 SM_CX* 값은 너비이고 모든 SM_CY* 값은 높이입니다. 또한 부울 데이터를 반환하도록 설계된 모든 설정은 TRUE 를 0이 아닌 값으로, FALSE 를 0 값으로 나타냅니다.
값 | 의미 |
---|---|
|
시스템이 최소화된 창을 정렬하는 방법을 지정하는 플래그입니다. 자세한 내용은 이 항목의 설명 섹션을 참조하세요. |
|
시스템 시작 방법을 지정하는 값입니다.
|
|
데스크톱의 디스플레이 모니터 수입니다. 자세한 내용은 이 항목의 설명 섹션을 참조하세요. |
|
마우스의 단추 수이거나 마우스가 설치되지 않은 경우 0입니다. |
|
노트북 또는 슬레이트 모드의 상태를 반영하고, 슬레이트 모드의 경우 0, 그렇지 않으면 0이 아닌 상태를 반영합니다. 이 시스템 메트릭이 변경되면 시스템은 LPARAM 에서 "ConvertibleSlateMode"가 있는 WM_SETTINGCHANGE 통해 브로드캐스트 메시지를 보냅니다. 이 시스템 메트릭은 데스크톱 PC에 적용되지 않습니다. 이 경우 GetAutoRotationState를 사용합니다. |
|
창 테두리의 너비(픽셀)입니다. 이는 3D 모양이 있는 창의 SM_CXEDGE 값과 동일합니다. |
|
커서의 명목 너비(픽셀)입니다. |
|
이 값은 SM_CXFIXEDFRAME 같습니다. |
|
두 번 클릭 시퀀스에서 첫 번째 클릭 위치 주위의 사각형 너비(픽셀)입니다. 두 번째 클릭은 SM_CXDOUBLECLK 정의한 사각형 내에서 발생해야 하며 시스템에서 두 번의 클릭을 두 번 클릭하는 것을 고려하도록 SM_CYDOUBLECLK. 두 번의 클릭도 지정된 시간 내에 발생해야 합니다.
두 번 클릭 사각형의 너비를 설정하려면 SPI_SETDOUBLECLKWIDTH 사용하여 SystemParametersInfo 를 호출합니다. |
|
끌기 작업이 시작되기 전에 마우스 포인터가 이동할 수 있는 마우스 아래쪽 점의 양쪽 픽셀 수입니다. 이렇게 하면 사용자가 의도치 않게 끌기 작업을 시작하지 않고 마우스 단추를 쉽게 클릭하고 놓을 수 있습니다. 이 값이 음수이면 마우스 아래쪽 점의 왼쪽에서 빼고 오른쪽에 추가됩니다. |
|
3D 테두리의 너비(픽셀)입니다. 이 메트릭은 SM_CXBORDER 3D 대응입니다. |
|
캡션 있지만 크기가 조정할 수 없는 창 둘레의 프레임 두께(픽셀)입니다.
SM_CXFIXEDFRAME 가로 테두리의 높이이고 SM_CYFIXEDFRAME 세로 테두리의 너비입니다.
이 값은 SM_CXDLGFRAME 같습니다. |
|
DrawFocusRect에서 그리는 포커스 사각형의 왼쪽 및 오른쪽 가장자리 너비입니다. 이 값은 픽셀 단위입니다.
Windows 2000: 이 값은 지원되지 않습니다. |
|
이 값은 SM_CXSIZEFRAME 같습니다. |
|
기본 디스플레이 모니터의 전체 화면 창에 대한 클라이언트 영역의 너비(픽셀)입니다. 시스템 작업 표시줄 또는 애플리케이션 데스크톱 도구 모음에 의해 가려지지 않은 화면 부분의 좌표를 얻으려면 SPI_GETWORKAREA 값을 사용하여 SystemParametersInfo 함수를 호출합니다. |
|
가로 스크롤 막대의 화살표 비트맵 너비(픽셀)입니다. |
|
가로 스크롤 막대에 있는 엄지 상자의 너비(픽셀)입니다. |
|
아이콘의 시스템 큰 너비(픽셀)입니다. LoadIcon 함수는 SM_CXICON 및 SM_CYICON 지정한 차원의 아이콘만 로드할 수 있습니다. 자세한 내용은 아이콘 크기를 참조하세요. |
|
큰 아이콘 보기의 항목에 대한 그리드 셀의 너비(픽셀)입니다. 각 항목은 정렬될 때 SM_CYICONSPACING SM_CXICONSPACING 크기의 사각형에 맞습니다. 이 값은 항상 SM_CXICON 보다 크거나 같습니다. |
|
기본 디스플레이 모니터에서 최대화된 최상위 창의 기본 너비(픽셀)입니다. |
|
캡션 및 크기 조정 테두리가 픽셀 단위인 창의 기본 최대 너비입니다. 이 메트릭은 전체 데스크톱을 나타냅니다. 사용자는 창 프레임을 이러한 차원보다 큰 크기로 끌 수 없습니다. 창은 WM_GETMINMAXINFO 메시지를 처리하여 이 값을 재정의할 수 있습니다. |
|
기본 메뉴 검사 비트맵의 너비(픽셀)입니다. |
|
여러 문서 인터페이스에 사용되는 자식 창 닫기 단추와 같은 메뉴 모음 단추의 너비(픽셀)입니다. |
|
창의 최소 너비(픽셀)입니다. |
|
최소화된 창의 너비(픽셀)입니다. |
|
최소화된 창의 그리드 셀 너비(픽셀)입니다. 각 최소화된 창은 정렬될 때 이 크기의 사각형에 맞습니다. 이 값은 항상 SM_CXMINIMIZED 보다 크거나 같습니다. |
|
창의 최소 추적 너비(픽셀)입니다. 사용자는 창 프레임을 이러한 차원보다 작은 크기로 끌 수 없습니다. 창은 WM_GETMINMAXINFO 메시지를 처리하여 이 값을 재정의할 수 있습니다. |
|
캡션 창의 테두리 안쪽 여백 양(픽셀)입니다.
Windows XP/2000: 이 값은 지원되지 않습니다. |
|
기본 디스플레이 모니터의 화면 너비(픽셀)입니다. 이 값은 다음과 같이 GetDeviceCaps를 호출하여 얻은 값과 같습니다. GetDeviceCaps(
hdcPrimaryMonitor, HORZRES)
|
|
창 캡션 또는 제목 표시줄에 있는 단추의 너비(픽셀)입니다. |
|
크기가 조정될 수 있는 창 둘레의 크기 조정 테두리 두께(픽셀)입니다.
SM_CXSIZEFRAME 가로 테두리의 너비이고 SM_CYSIZEFRAME 세로 테두리의 높이입니다.
이 값은 SM_CXFRAME 같습니다. |
|
아이콘의 시스템 너비(픽셀)입니다. 작은 아이콘은 일반적으로 창 캡션 및 작은 아이콘 보기에 표시됩니다. 자세한 내용은 아이콘 크기를 참조하세요. |
|
작은 캡션 단추의 너비(픽셀)입니다. |
|
가상 화면의 너비(픽셀)입니다. 가상 화면은 모든 디스플레이 모니터의 경계 사각형입니다. SM_XVIRTUALSCREEN 메트릭은 가상 화면의 왼쪽에 대한 좌표입니다. |
|
세로 스크롤 막대의 너비(픽셀)입니다. |
|
창 테두리의 높이(픽셀)입니다. 이는 3D 모양이 있는 창의 SM_CYEDGE 값과 동일합니다. |
|
캡션 영역의 높이(픽셀)입니다. |
|
커서의 명목 높이(픽셀)입니다. |
|
이 값은 SM_CYFIXEDFRAME 같습니다. |
|
두 번 클릭 시퀀스에서 첫 번째 클릭 위치 주위의 사각형 높이(픽셀)입니다. 두 번째 클릭은 SM_CXDOUBLECLK 정의된 사각형 내에서 발생해야 하며 시스템에서 두 번의 클릭을 두 번 클릭하는 것을 고려하도록 SM_CYDOUBLECLK. 두 번의 클릭도 지정된 시간 내에 발생해야 합니다.
두 번 클릭 사각형의 높이를 설정하려면 SPI_SETDOUBLECLKHEIGHT 있는 SystemParametersInfo 를 호출합니다. |
|
끌기 작업이 시작되기 전에 마우스 포인터가 이동할 수 있는 마우스 아래쪽 지점 위와 아래의 픽셀 수입니다. 이렇게 하면 사용자가 의도치 않게 끌기 작업을 시작하지 않고 마우스 단추를 쉽게 클릭하고 놓을 수 있습니다. 이 값이 음수이면 마우스 아래쪽 지점 위에서 빼고 그 아래에 추가됩니다. |
|
3차원 테두리의 높이(픽셀)입니다. 이는 SM_CYBORDER 3D 대응입니다. |
|
캡션 있지만 크기가 조정할 수 없는 창 둘레의 프레임 두께(픽셀)입니다.
SM_CXFIXEDFRAME 가로 테두리의 높이이고 SM_CYFIXEDFRAME 세로 테두리의 너비입니다.
이 값은 SM_CYDLGFRAME 같습니다. |
|
DrawFocusRect에서 그린 포커스 사각형의 위쪽 및 아래쪽 가장자리 높이입니다. 이 값은 픽셀 단위입니다.
Windows 2000: 이 값은 지원되지 않습니다. |
|
이 값은 SM_CYSIZEFRAME 동일합니다. |
|
기본 디스플레이 모니터의 전체 화면 창에 대한 클라이언트 영역의 높이(픽셀)입니다. 시스템 작업 표시줄 또는 애플리케이션 데스크톱 도구 모음에 의해 가려지지 않은 화면 부분의 좌표를 얻으려면 SPI_GETWORKAREA 값으로 SystemParametersInfo 함수를 호출합니다. |
|
가로 스크롤 막대의 높이(픽셀)입니다. |
|
아이콘의 시스템 높이(픽셀)입니다. LoadIcon 함수는 SM_CXICON 및 SM_CYICON 지정한 차원의 아이콘만 로드할 수 있습니다. 자세한 내용은 아이콘 크기를 참조하세요. |
|
큰 아이콘 보기의 항목에 대한 그리드 셀의 높이(픽셀)입니다. 각 항목은 정렬될 때 SM_CYICONSPACING SM_CXICONSPACING 크기의 사각형에 맞습니다. 이 값은 항상 SM_CYICON 보다 크거나 같습니다. |
|
시스템의 더블 바이트 문자 집합 버전의 경우 화면 아래쪽에 있는 간지 창의 높이(픽셀)입니다. |
|
기본 디스플레이 모니터에서 최대화된 최상위 창의 기본 높이(픽셀)입니다. |
|
캡션 및 크기 조정 테두리가 있는 창의 기본 최대 높이(픽셀)입니다. 이 메트릭은 전체 데스크톱을 참조합니다. 사용자는 창 프레임을 이러한 차원보다 큰 크기로 끌 수 없습니다. 창은 WM_GETMINMAXINFO 메시지를 처리하여 이 값을 재정의할 수 있습니다. |
|
한 줄 메뉴 모음의 높이(픽셀)입니다. |
|
기본 메뉴의 높이는 비트맵을 픽셀 단위로 표시할 검사. |
|
여러 문서 인터페이스에서 사용되는 자식 창 닫기 단추와 같은 메뉴 모음 단추의 높이(픽셀)입니다. |
|
창의 최소 높이(픽셀)입니다. |
|
최소화된 창의 높이(픽셀)입니다. |
|
최소화된 창의 그리드 셀 높이(픽셀)입니다. 최소화된 각 창은 정렬될 때 이 크기의 사각형에 맞습니다. 이 값은 항상 SM_CYMINIMIZED 보다 크거나 같습니다. |
|
창의 최소 추적 높이(픽셀)입니다. 사용자는 창 프레임을 이러한 차원보다 작은 크기로 끌 수 없습니다. 창은 WM_GETMINMAXINFO 메시지를 처리하여 이 값을 재정의할 수 있습니다. |
|
기본 디스플레이 모니터의 화면 높이(픽셀)입니다. 이 값은 다음과 같이 GetDeviceCaps를 호출하여 얻은 값과 같습니다 GetDeviceCaps(
hdcPrimaryMonitor, VERTRES) .
|
|
창 캡션 또는 제목 표시줄에 있는 단추의 높이(픽셀)입니다. |
|
크기를 조정할 수 있는 창 둘레의 크기 조정 테두리 두께(픽셀)입니다.
SM_CXSIZEFRAME 가로 테두리의 너비이고 SM_CYSIZEFRAME 세로 테두리의 높이입니다.
이 값은 SM_CYFRAME 같습니다. |
|
작은 캡션 높이(픽셀)입니다. |
|
아이콘의 시스템 작은 높이(픽셀)입니다. 작은 아이콘은 일반적으로 창 캡션 및 작은 아이콘 보기에 표시됩니다. 자세한 내용은 아이콘 크기를 참조하세요. |
|
작은 캡션 단추의 높이(픽셀)입니다. |
|
가상 화면의 높이(픽셀)입니다. 가상 화면은 모든 디스플레이 모니터의 경계 사각형입니다. SM_YVIRTUALSCREEN 메트릭은 가상 화면 위쪽의 좌표입니다. |
|
세로 스크롤 막대의 화살표 비트맵 높이(픽셀)입니다. |
|
세로 스크롤 막대의 엄지 상자 높이(픽셀)입니다. |
|
User32.dll DBCS를 지원하는 경우 0이 아닌 경우 그렇지 않으면 0입니다. |
|
디버그 버전의 User.exe 설치된 경우 0이 아닌 경우 그렇지 않으면 0입니다. |
|
현재 운영 체제가 Windows 7 또는 Windows Server 2008 R2이고 태블릿 PC 입력 서비스가 시작된 경우 0이 아닌 경우 그렇지 않으면 0입니다. 반환 값은 디바이스에서 지원하는 디지타이저 입력 유형을 지정하는 비트 마스크입니다. 자세한 내용은 설명 부분을 참조하세요.
Windows Server 2008, Windows Vista 및 Windows XP/2000: 이 값은 지원되지 않습니다. |
|
입력 메서드 관리자/입력 메서드 편집기 기능이 사용하도록 설정된 경우 0이 아닌 경우 이고, 그렇지 않으면 0입니다.
SM_IMMENABLED 시스템이 유니코드 애플리케이션에서 유니코드 기반 IME를 사용할 준비가 되었는지 여부를 나타냅니다. 언어 종속 IME가 작동하는지 확인하려면 및 시스템 ANSI 코드 페이지를 검사 SM_DBCSENABLED. 그렇지 않으면 ANSI-유니코드 변환이 올바르게 수행되지 않거나 글꼴 또는 레지스트리 설정과 같은 일부 구성 요소가 없을 수 있습니다. |
|
시스템에 디지타이저가 있는 경우 0이 아닙니다. 그렇지 않으면 0입니다.
SM_MAXIMUMTOUCHES 시스템의 모든 디지타이저에서 지원하는 최대 연락처 수의 집계 최대값을 반환합니다. 시스템에 단일 터치 디지타이저만 있는 경우 반환 값은 1입니다. 시스템에 멀티 터치 디지타이저가 있는 경우 반환 값은 하드웨어가 제공할 수 있는 동시 접점 수입니다. Windows Server 2008, Windows Vista 및 Windows XP/2000: 이 값은 지원되지 않습니다. |
|
현재 운영 체제가 Windows XP, Media Center Edition인 경우 0이 아닌 경우 0이 아닙니다. |
|
드롭다운 메뉴가 해당 메뉴 모음 항목과 오른쪽 맞춤된 경우 0이 아닌 경우 메뉴가 왼쪽 맞춤인 경우 0입니다. |
|
시스템이 히브리어 및 아랍어 언어에 대해 사용하도록 설정된 경우 0이 아닌 경우 0입니다. |
|
마우스가 설치된 경우 0이 아닌 경우 그렇지 않으면 0입니다. 이 값은 가상 마우스에 대한 지원과 일부 시스템에서 마우스가 있는 대신 포트의 존재를 감지하기 때문에 거의 0이 아닙니다. |
|
가로 스크롤 휠이 있는 마우스가 설치된 경우 0이 아닌 경우 그렇지 않으면 0입니다. |
|
세로 스크롤 휠이 있는 마우스가 설치된 경우 0이 아닌 경우 그렇지 않으면 0입니다. |
|
네트워크가 있는 경우 가장 작은 비트가 설정됩니다. 그렇지 않으면 지워집니다. 다른 비트는 나중에 사용하기 위해 예약되어 있습니다. |
|
펜용 Microsoft Windows 컴퓨팅 확장이 설치된 경우 0이 아닌 경우 그렇지 않으면 0입니다. |
|
이 시스템 메트릭은 터미널 서비스 환경에서 현재 터미널 서버 세션이 원격으로 제어되고 있는지 확인하는 데 사용됩니다. 현재 세션이 원격으로 제어되는 경우 해당 값은 0이 아닌 값입니다. 그렇지 않으면 0입니다.
터미널 서비스 관리자(tsadmin.msc) 및 shadow.exe 같은 터미널 서비스 관리 도구를 사용하여 원격 세션을 제어할 수 있습니다. 세션이 원격으로 제어되는 경우 다른 사용자가 해당 세션의 콘텐츠를 보고 잠재적으로 상호 작용할 수 있습니다. |
|
이 시스템 메트릭은 터미널 서비스 환경에서 사용됩니다. 호출 프로세스가 Terminal Services 클라이언트 세션과 연결된 경우 반환 값은 0이 아닌 값입니다. 호출 프로세스가 터미널 서비스 콘솔 세션과 연결된 경우 반환 값은 0입니다. Windows Server 2003 및 Windows XP: 콘솔 세션이 물리적 콘솔일 필요는 없습니다. 자세한 내용은 WTSGetActiveConsoleSessionId를 참조하세요. |
|
모든 디스플레이 모니터의 색 형식이 0이 아니면 0이 아닌 경우 0이 됩니다. 두 디스플레이의 비트 깊이는 동일하지만 색 형식은 다를 수 있습니다. 예를 들어 빨간색, 녹색 및 파란색 픽셀은 서로 다른 비트 수로 인코딩하거나 해당 비트를 픽셀 색 값의 다른 위치에 배치할 수 있습니다. |
|
이 시스템 메트릭은 무시해야 합니다. 항상 0을 반환합니다. |
|
시스템이 Windows Server 2003 R2인 경우 빌드 번호입니다. 그렇지 않으면 0입니다. |
|
사용자가 응용 프로그램에서 정보를 시각적으로 표시하도록 요구하는 경우 0이 아닌 경우, 그렇지 않으면 가청 형식으로만 정보를 표시합니다. 그렇지 않으면 0입니다. |
|
현재 세션이 종료되는 경우 0이 아닌 경우 그렇지 않으면 0입니다.
Windows 2000: 이 값은 지원되지 않습니다. |
|
컴퓨터에 로우 엔드(느린) 프로세서가 있는 경우 0이 아닌 경우 그렇지 않으면 0입니다. |
|
현재 운영 체제가 Windows 7 Starter Edition, Windows Vista Starter 또는 Windows XP Starter Edition인 경우 0이 아닌 경우 그렇지 않으면 0입니다. |
|
왼쪽 및 오른쪽 마우스 단추의 의미가 교환되면 0이 아닌 값입니다. 그렇지 않으면 0입니다. |
|
도킹 모드의 상태를 반영하고, 도킹 해제 모드의 경우 0이고, 그렇지 않으면 0이 아닌 상태를 반영합니다. 이 시스템 메트릭이 변경되면 시스템은 LPARAM에서 "SystemDockMode"가 있는 WM_SETTINGCHANGE 통해 브로드캐스트 메시지를 보냅니다. |
|
현재 운영 체제가 Windows XP 태블릿 PC 버전이거나 현재 운영 체제가 Windows Vista 또는 Windows 7이고 태블릿 PC 입력 서비스가 시작된 경우 0이 아닌 경우 그렇지 않으면 0입니다. SM_DIGITIZER 설정은 Windows 7 또는 Windows Server 2008 R2를 실행하는 디바이스에서 지원하는 디지타이저 입력 유형을 나타냅니다. 자세한 내용은 설명 부분을 참조하세요. |
|
가상 화면 왼쪽의 좌표입니다. 가상 화면은 모든 디스플레이 모니터의 경계 사각형입니다. SM_CXVIRTUALSCREEN 메트릭은 가상 화면의 너비입니다. |
|
가상 화면 맨 위에 대한 좌표입니다. 가상 화면은 모든 디스플레이 모니터의 경계 사각형입니다. 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 도입) |