관리 메뉴

ㄴrㅎnㅂrㄹrㄱi

SysGet 화면 해상도나 멀티 모니터 관련의 정보, 그 외 시스템 관련의 정보를 취득 본문

AUTOHOTKEY/레퍼런스

SysGet 화면 해상도나 멀티 모니터 관련의 정보, 그 외 시스템 관련의 정보를 취득

님투 2007. 11. 5. 23:30
반응형

SysGet

화면 해상도나 멀티 모니터 관련의 정보, 그 외 시스템 관련의 정보를 취득

SysGet, OutputVar, Sub-command [, Param3]

Parameters


인수명 설명
OutputVar 취득 결과를 격납하는 변수명
Sub-command 취득하는 정보를 지정
Param3 일부 서브 커멘드로 사용하는 옵션

Sub-commands

MonitorCount
멀티 모니터 환경에서의 모니터수를 취득.후술의SM_CMONITORS(와)과 달라, 데스크탑의 일부로서 사용되지 않은 모니터도 셀 수 있다.
MonitorPrimary
주모니터의 번호를 취득
Monitor [, N]
지정한 모니터의 데스크탑 영역에서의 경계 좌표를 취득.
N에 모니터 번호를 지정한다.
N(을)를 생략 했을 경우, 주모니터의 정보가 취득된다.
N에 존재하지 않는 모니터 번호를 지정했을 경우 등은, 결과의 변수는 모두 비운다.
결과는 「OutputVarLeft」 「OutputVarTop」 「OutputVarRight」 「OutputVarBottom」라고 하는 변수에 격납된다.
MonitorWorkArea [, N]
모니터 번호N의 태스크바의 부분을 제외한 경계 좌표를 취득
MonitorName [, N]
모니터 번호N의 시스템명을 취득
(수치)
Sub-command에 아래와 같이로 설명하는 번호를 지정하는 것으로, 각종의 정보를 취득할 수 있다.

Name Number Description
SM_CMONITORS 80 멀티 모니터 환경에서 데스크탑 영역의 표시에 사용되고 있는 모니터의 수를 취득
SM_CMOUSEBUTTONS 43 mouse button의 수 (마우스가 없을 때는 0) (을)를 취득합니다.
SM_CXFULLSCREEN, SM_CYFULLSCREEN 16,17 최대화된 윈도우의 클라이언트 영역의 사이즈를 취득합니다.
SM_CXMAXIMIZED, SM_CYMAXIMIZED 61,62 최대화된 윈도우의 사이즈를 취득합니다.
SM_CXMAXTRACK, SM_CYMAXTRACK 59,60 윈도우의 최대 트랙킹 사이즈를 취득합니다.이 사이즈보다 크게 윈도우의 테두리를 드러그 할 수 없습니다.어플리케이션으로 WM_GETMINMAXINFO 메세지를 처리하면, 최대 트랙킹 사이즈를 변경할 수 있습니다.
SM_CXMIN,SM_CYMIN 28,29 윈도우의 최소 사이즈를 취득합니다.
SM_CXMINIMIZED, SM_CYMINIMIZED 57,58 최소화된 윈도우의 디폴트의 사이즈를 취득합니다.
SM_CXMINTRACK, SM_CYMINTRACK 34,35 윈도우의 최소 트랙킹 사이즈를 취득합니다.이 사이즈보다 작게 윈도우의 테두리를 드러그 할 수 없습니다.어플리케이션으로 WM_GETMINMAXINFO 메세지를 처리하면, 최소 트랙킹 사이즈를 변경할 수 있습니다.
SM_CXSCREEN, SM_CYSCREEN 0,1 화면 전체의 사이즈를 취득합니다.
SM_CXVIRTUALSCREEN, SM_CYVIRTUALSCREEN 78,79 Windows 98 (와)과 Windows 2000:가상 화면의 폭과 높이를 피크셀 단위로 취득합니다.가상 화면이란, 모든 모니터를 둘러싸는 경계 장방형입니다.SM_XVIRTUALSCREEN 및 SM_YVIRTUALSCREEN 의 각 치는, 가상 화면의 좌상구석의 좌표를 나타냅니다.
SM_MOUSEPRESENT 19 마우스가 접속되고 있는지 어떤지를 나타내는 값을 취득합니다.접속되고 있을 때는 0 이외의 값이, 접속되어 있지 않을 때는 0 하지만 돌아갑니다.
SM_MOUSEWHEELPRESENT 75 휠을 가지는 마우스가 접속되고 있는지 어떤지를 나타내는 값을 취득합니다.접속되고 있을 때는 0 이외의 값이, 접속되어 있지 않을 때는 0 하지만 돌아갑니다.
SM_NETWORK 63 네트워크가 존재할지를 나타내는 값을 취득합니다.존재할 때는 최하위비트가 1 의 값이, 그렇지 않을 때는 최하위비트가 0 의 값이 돌아갑니다.최하위비트 이외의 비트는 예약되고 있습니다.
SM_REMOTECONTROL 8193 리모트 데스크탑으로 원격 조작 되고 있을 때 이외는 「0」, 원격 조작 되고 있을 때는 제로 이외.
SM_REMOTESESSION 4096 이 값은,Terminal Services 환경에서 사용하는 것을 의도하고 있습니다.호출측 프로세스가 Terminal Services 의 클라이언트 세션에 관련지을 수 있고 있는 경우는 0 이외의 값(TRUE)(이)가 돌아갑니다.호출측 프로세스가 Terminal Services 의 콘솔 세션에 관련지을 수 있고 있는 경우 0(FALSE)(이)가 돌아갑니다.
SM_SHOWSOUNDS 70 유저 보조의 「사운드 해설을 사용한다」가 유효하게 되어 있는지 어떤지를 조사합니다.유효하게 되어 있을 때는 0 이외의 값이, 그렇지 않을 때는 0 하지만 돌아갑니다.
SM_SHUTTINGDOWN 8192 슛다운중에서 없으면 「0」, 슛다운중이라면 제로 이외.
SM_SWAPBUTTON 23 좌우의 mouse button의 기능을 교환하고 있을지를 나타내는 값을 취득합니다.교환하고 있을 때는 0 이외의 값이, 교환하고 있지 않을 때는 0 하지만 돌아갑니다.
SM_XVIRTUALSCREEN, SM_YVIRTUALSCREEN 76,77 Windows 98 (와)과 Windows 2000:가상 화면의 좌단과 상단의 좌표를 나타냅니다.가상 화면이란, 모든 모니터를 둘러싸는 경계 장방형입니다.SM_CXVIRTUALSCREEN 및 SM_CYVIRTUALSCREEN 의 각 치는, 가상 화면의 폭과 높이를 나타냅니다.
SM_ARRANGE 56 최소화 윈도우의 배치 방법을 나타내는 값을 취득합니다.
SM_CLEANBOOT 67 시스템이 어떻게 기동되었는지를 나타내는 값을 취득합니다.다음의 값의 어느 쪽인가에 됩니다.
0
통상의 부트
1
「 Safe 모드」로의 부트
2
「네트워크를 사용했다 Safe 모드」로의 부트
SM_CXBORDER, SM_CYBORDER 5,6 비입체적인 윈도우의 인연의 폭과 높이를 취득합니다.SM_CXEDGE (와)과SM_CYEDGE 도 참조해 주세요.
SM_CXCURSOR, SM_CYCURSOR 13,14 마우스 커서의 사이즈를 취득합니다.
SM_CXDOUBLECLK, SM_CYDOUBLECLK 36,37 더블 클릭에 있어서의 2 번째의 클릭 위치의 허용 범위를 취득합니다.1 번째의 클릭의 뒤, 허용 범위내 한편 허용 시간내에 한번 더 마우스를 클릭하면, 더블 클릭이 행 것으로 간주해집니다.
SM_CXDRAG, SM_CYDRAG 68,69 드러그 조작의 개시라고는 보이지 않는 범위를 취득합니다.mouse button를 누른 후, 이 범위를 넘고 마우스를 작동시키면, 드러그 조작이 개시된 것으로 간주해집니다.
SM_CXEDGE, SM_CYEDGE 45,46 입체적인 윈도우의 인연의 폭과 높이를 취득합니다.SM_CXBORDER (와)과SM_CYBORDER 의 3D 판입니다.
SM_CXFIXEDFRAME, SM_CYFIXEDFRAME 7,8 타이틀 바를 가져, 한편, 사이즈를 변경할 수 없는 윈도우에 있어서의 테두리의 폭과 높이를 취득합니다.SM_CXDLGFRAME,SM_CYDLGFRAME (와)과 같습니다.
SM_CXFOCUSBORDER, SM_CYFOCUSBORDER 83,84 컨트롤의 포커스범위의 굵기를 취득
SM_CXHSCROLL, SM_CYHSCROLL 21,22 수평 스크롤 바의 화살표의 폭, 또는, 수평 스크롤 바의 높이를 취득합니다.
SM_CXHTHUMB 10 수평 스크롤 바의 안주의 폭을 취득합니다.
SM_CXICON, SM_CYICON 11,12 아이콘의 디폴트의 사이즈를 취득합니다.통상은 32×32 피크셀입니다.
SM_CXICONSPACING, SM_CYICONSPACING 38,39 아이콘을 정렬할 경우에 사용되는 구라두의 사이즈를 취득합니다.항상,SM_CXICON,SM_CYICON 이상이 됩니다.
SM_CXMENUCHECK, SM_CYMENUCHECK 71,72 메뉴의 체크 마크의 사이즈를 취득합니다.
SM_CXMENUSIZE, SM_CYMENUSIZE 54,55 도구모음에 표시되는 버튼의 사이즈를 취득합니다.
SM_CXMINSPACING, SM_CYMINSPACING 47,48 아이콘을 정렬할 경우에 사용되는 구라두의 사이즈를 취득합니다.항상,SM_CXICON, SM_CYICON 이상이 됩니다
SM_CXSIZE, SM_CYSIZE 30,31 윈도우의 타이틀 바내의 버튼의 사이즈를 취득합니다.
SM_CXSIZEFRAME, SM_CYSIZEFRAME 32,33 사이즈를 변경할 수 있는 윈도우에 있어서의 테두리의 폭과 높이를 취득합니다.SM_CXFRAME,SM_CYFRAME (와)과 같습니다.
SM_CXSMICON, SM_CYSMICON 49,50 작은 아이콘의 추천 사이즈를 취득합니다.
SM_CXSMSIZE, SM_CYSMSIZE 52,53 차이 타이틀 바내의 버튼의 사이즈를 취득합니다
SM_CXVSCROLL, SM_CYVSCROLL 2,20 수직 스크롤 바의 폭, 또는, 수직 스크롤 바의 화살표의 높이를 취득합니다.
SM_CYCAPTION 4 타이틀 바의 높이를 취득합니다.
SM_CYKANJIWINDOW 18 화면하의 한자 윈도우의 높이를 취득합니다.
SM_CYMENU 15 일행 분의 도구모음의 높이를 취득합니다.
SM_CYSMCAPTION 51 작은 타이틀 바의 높이를 취득합니다.
SM_CYVTHUMB 9 수직 스크롤 바의 안주의 높이를 취득합니다.
SM_DBCSENABLED 42 USER.EXE 하지만 2바이트 캐릭터 세트 (DBCS) (을)를 서포트하고 있을지를 나타내는 값을 취득합니다.서포트하고 있을 때는 0 이외의 값이, 서포트하고 있지 않을 때는 0 하지만 돌아갑니다.
SM_DEBUG 22 USER.EXE 하지만 디버그 버젼인지 어떤지를 나타내는 값을 취득합니다.디버그 버젼 때는 0 이외의 값이, 디버그 버젼이 아닐 때는 0 하지만 돌아갑니다.
SM_IMMENABLED 82 IME(Input Method Manager/Input Method Editor) 기능이 유효하게 되어 있는 경우는 0 이외의 값(TRUE)(이)가 돌아갑니다.무효가 되어 있는 경우는 0(FALSE)(이)가 돌아갑니다.
SM_IMMENABLED (은)는, 시스템이 Unicode 베이스의 어플리케이션으로,Unicode 베이스의 IME (을)를 사용할 준비가 되어 있을지를 나타냅니다.특정의 언어에 의존한다 IME 하지만 동작할지 확인하려면 ,SM_DBCSENABLED (와)과 시스템의 ANSI code page를 체크해 주세요.그 이외의 경우,ANSI/Unicode 사이의 변환이 올바르게 실행되지 않는 것이나, 폰트나 레지스트리 엔트리와 같은 컴퍼넌트가 존재하지 않는 것이 있습니다.
SM_MEDIACENTER 87 OS하지만Windows XP Media Center Edition의 경우 제로 이외.
SM_MENUDROPALIGNMENT 40 도구모음의 항목에 대해서, 드롭 다운 메뉴가 오른쪽 대어 될지를 나타내는 값을 취득합니다.오른쪽 대어 될 때는 0 이외의 값이, 왼쪽 맞춤 될 때는 0 하지만 돌아갑니다.
SM_MIDEASTENABLED 74 헤브라이어나 아라비아어가 이용 가능한 시스템인지 어떤지를 나타내는 값을 취득합니다.이용할 수 있을 때는 TRUE 하지만 돌아갑니다.
SM_PENWINDOWS 41 Window for Pen computing extensions 하지만 인스톨 되고 있는지 어떤지를 나타내는 값을 취득합니다.인스톨 되고 있을 때는 0 이외의 값이, 인스톨 되어 있지 않을 때는 0 하지만 돌아갑니다.
SM_SECURE 44 시큐러티가 존재할지를 나타내는 값을 취득합니다.존재할 때는 TRUE 하지만, 존재하지 않을 때는 FALSE 하지만 돌아갑니다.
SM_SAMEDISPLAYFORMAT 81 복수의 모니터가 존재하는 경우, 모든 모니터가 같은 칼라 포맷을 사용하고 있는지 어떤지를 나타내는 값을 취득합니다.모든 모니터가 같은 칼라 포맷을 사용하고 있는 경우,0 이외의 값(TRUE)(이)가 돌아갑니다.그 이외의 경우,0(FALSE)(이)가 돌아갑니다.2 받침대의 모니터가 같은 색심도(비트수)를 사용하고 있어도, 칼라 포맷이 다를 가능성이 있는 것에 주의해 주세요.예를 들어, 각 피크셀의 RGB 의 비트수가 차이가 난다(16 비트의 경우 RGB 하지만 565 그렇다고 하는 것이 일반적입니다만, 알파블렌딩;휘도의 1 비트를 추가해 ARGB1555 그렇다고 하는 편성도 있습니다) 일이나,RGB 의 순서가 차이가 나기도 합니다.
SM_SLOWMACHINE 73 컴퓨터의 프로세서가 늦은지 어떤지를 나타내는 값을 취득합니다.늦을 때는 TRUE 하지만, 그 이외 때는 FALSE 하지만 돌아갑니다.
SM_TABLETPC 86 OS하지만Windows XP Tablet PC의 경우 제로 이외.

Remarks

프라이머리 모니터의 가로폭과 높이는 A_ScreenWidth/ A_ScreenHeight변수로 참조할 수 있다


Related

WinGet


Example(s)

Example #1:
SysGet, MouseButtonCount, 43
SysGet, VirtualScreenWidth, 78
SysGet, VirtualScreenHeight, 79

Example #2: This is a working script that displays info about each monitor:
SysGet, MonitorCount, MonitorCount
SysGet, MonitorPrimary, MonitorPrimary
MsgBox, Monitor Count:`t%MonitorCount%`nPrimary Monitor:`t%MonitorPrimary%
Loop, %MonitorCount%
{
	SysGet, MonitorName, MonitorName, %A_Index%
	SysGet, Monitor, Monitor, %A_Index%
	SysGet, MonitorWorkArea, MonitorWorkArea, %A_Index%
	MsgBox, Monitor:`t#%A_Index%`nName:`t%MonitorName%`nLeft:`t%MonitorLeft% (%MonitorWorkAreaLeft% work)`nTop:`t%MonitorTop% (%MonitorWorkAreaTop% work)`nRight:`t%MonitorRight% (%MonitorWorkAreaRight% work)`nBottom:`t%MonitorBottom% (%MonitorWorkAreaBottom% work)
}
반응형
Comments