다중 모니터 환경에서 모니터 위치를 결정하는 레지스트리 키 또는 Windows 파일은 무엇입니까?


17

USB to VGA 어댑터 가 장착 된 랩톱이 있는데 랩톱 에 세 번째 모니터를 추가 할 수 있습니다 (두 번째 모니터는 온보드 슬롯을 사용함).

그것은 Windows Vista에서 잘 작동했습니다. Windows의 디스플레이 설정으로 이동하면 Windows가 세 번째 모니터를 인식하고 그에 따라 드래그 할 수 있습니다. Windows 7의 경우 세 번째 모니터는 문자 그대로 Windows의 디스플레이 설정에 없습니다. 드라이버를 사용하면 세 번째 모니터에 표시 할 수 있지만 원래 위치로 이동할 수는 없습니다. 디스플레이 설정이 다른 두 가지에 비해 잘못 배치되었습니다 (창을 위로 드래그하면 정렬해야 할 때 맨 아래에 나타납니다).

기술 지원 부서에 전화를 걸어서 Windows 7 용이 기능을 갖춘 드라이버는 아직 없다고 말했습니다. 그러나 여기 내 직감이 있습니다. 모니터 배치는 여전히 Vista에서 사용했던 위치와 다소 유사하며 약 500 픽셀 정도입니다. 이 모니터에 존재하는 위치를 알려주는 레지스트리 키 또는 드라이버 파일이 있다고 생각합니다. 숫자를 수정하고 500 픽셀 위로 올릴 수 있다면 올바른 위치에있을 것이며 회사가 새 드라이버를 내놓을 때까지 6 개월을 기다릴 필요가 없습니다.

어떤 아이디어?

답변:


8

다양한 키와 폴더를 확인하십시오.

HKEY_CURRENT_CONFIG\System\CurrentControlSet\Control\Video

특히 가장 안쪽의 MonXXXXXXX하위 폴더 에는 픽셀 0,0에 대한 모니터의 위치 인 값 Attach.RelativeXAttach.RelativeY값이 있어야합니다 .

이상하게도 모니터가 두 개인 Windows 7 컴퓨터를 확인하면 두 번째 모니터가 표시되지 않는 것 같습니다. 그러나 내 XP 시스템은 내 세 가지를 모두 보여 주므로 마일리지가 다를 수 있습니다.

다른 곳이 없다면 시작할 곳입니다!


좋은 발견! 이것은 내가 찾던 열쇠입니다. 두 위치에서 relativeY 값을 수정 한 다음 확장 데스크탑 USB 드라이버를 다시 시작하면 값이 이동합니다. 남은 문제는 다음과 같습니다. 모니터 구성 방식으로 인해 음수 값을 입력해야합니다. 어떻게해야합니까? 양수 값을 입력하면 필요한 모니터 만 더 낮아집니다. 내 설정은 다음과 같습니다. 2 3 1 모니터 번호입니다 (1과 2가 닿아 있고 3이 옆으로 꺼져 있습니다). attach.relativeY 값을 변경하면 3이 더 낮아져서 높이고 싶습니다.

서식이 유지되지 않는 것처럼 보이지만 희망적으로 요점을 얻습니다 .2는 1 이상이고 3은 둘 사이의 중심에 있으며 둘 중 오른쪽에 있습니다. 디지털 방식으로 창은 모니터 1 옆에 배치됩니다.

음수 값을 입력하려고하면 발생합니까? 결국, 로그인 할 때 조정을 위해 시작 스크립트를 조작해야 할 수도 있습니다 (독립적으로 진행되지 않는 경우).
Ƭᴇcʜιᴇ007

음수 값을 입력 할 수 없으면 Windows에서 허용하지 않습니다. 레지스트리의 16 진 부분에는 숫자와 문자를 넣을 수 있고 10 진 부분에는 숫자 값만 넣을 수 있습니다. 내가 게시 한 40 억 개의 숫자가 분명히 효과가 있고 충실한 이유는 확실하지 않습니다. 어쩌면 429496xxxx가 음수를 나타내는 것을 의미하는 윈도우에 일종의 코드가있을 수 있습니다. 마지막 4 개의 숫자는 음수를 넘어서서 픽셀 deslpacement의 양과 관련됩니다.

스위 펫. ;)
Ƭᴇcʜιᴇ007 3

27

Windows 7에서 키를 찾는 사람은 다음 폴더 중 하나에 있습니다.

HKLM\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration\

를 찾으 Position.cxPosition.cy하위 폴더의 각; 16 진 문자열을 편집해야합니다.

이진 / 소수 / 16 진수 변환기 :

http://www.mathsisfun.com/binary-decimal-hexadecimal-converter.html


3
어떤 구성이 활성 구성인지 어떻게 알 수 있습니까?
Adisak

Adisak-모든 위치의 값에 따라 변경하는 것이 더 쉽다는 것을 알았습니다.
Artanis

1
@Adisak 오래된 질문이지만 여전히 이것을 찾고있는 사람이라면 여기에 내가 한 일이 있습니다. 오른쪽 클릭-> 구성 노드 내보내기 (경우에 따라), 어딘가에 저장하십시오. 모든 단일 하위 노드를 삭제하십시오. 창에서 로그 아웃하십시오. 다시 로그인하십시오. 현재 / 활성 항목 인 1 개의 새 항목이 생성됩니다.
르네

활성 구성을 찾으려면 MonitorInfoView 를 사용할 수 있습니다 . 구성 이름은로 결합 된 모든 모니터 식별자의 목록입니다 *. 식별자는 MonitorInfoView의 레지스트리 키 열의 값으로 시작합니다 .
gronostaj

4

나는 이것이 왜 효과가 있었는지 알고 싶지만 나는 그것을 알고있다.

레지스트리가 음수를 허용하지 않기 때문에 모니터가 UP 상태가 되려면 attach.relativeY 값을 다음과 같이 사용해야합니다. 4294967040

해당 부분을 파악하는 데 도움을 주신이 포럼에 감사드립니다-http: //www.ureader.com/msg/164488.aspx

해당 숫자의 마지막 4 자리 숫자를 줄이면 모니터가 다운되고 그 반대도 마찬가지입니다. 이것은 attach.relativeX에서도 작동합니다. 약간의 조정과 설정이 정상으로 돌아 왔습니다.

기능 드라이버가 필요한 사람


올바른 길로 인도 해 주신 techie007에게 감사드립니다

Sweet, 열쇠를 가리켜 서 '올바른 답'마크를 받습니까? :)
Ƭᴇcʜιᴇ007

반은 정답을 할 수 있습니까? lol

개방형 질문에 반점을 줄 수있는 경우에만. :) 나에게 "어딘가에 레지스트리 키 또는 드라이버 파일"을 사용하여 문제를 해결할 수있는 방법에 대한 "아이디어"를 요청한 것 같습니다. 그런 다음 레지스트리 키를 설정하는 데 사용했습니다. 무엇을 더 원하십니까? 피의? :) 나는 다음 대답에 부정 32 비트 단어 16 진수 레슨을 포함시켜야한다고 생각합니다. ;)
Ƭᴇcʜιᴇ007 3

음의 정수를 양의 정수로 나타 내기 때문입니다. 음수를 나타내는 방법에 관심이있는 경우 2의 보수를 찾은 다음 비트를 부호없는 정수로 처리하여 올바른 입력 값을 얻으십시오.
Edwin Buck

2

레지스트리에 필요한 수를 얻으려면 4294967296에서 음수로 만들려는 양을 빼십시오. 즉, 4294967296-250 = 4294967046의 경우.

당신을 위해 괴짜 ...

여기서 성가심은 레지스트리 편집기가 32 비트를 부호없는 10 진수 정수 또는 2 진 데이터의 16 진수 표현 이외의 것으로 해석하지 않기 때문입니다. 그러나 디스플레이 위치를 지정할 때 Windows가 이진 데이터를 검색하면 부호있는 정수로 해석됩니다. Windows가 32 비트 부호있는 정수가 음수임을 알 수 있도록 마지막 비트를 1 (가장 왼쪽)로 설정하고 나머지 비트는 반전됩니다. 따라서 -1의 이진 값은 11111111 11111111 11111111 11111111 (16 진 : FF FF FF FF)입니다. 이를 레지스트리 편집기와 같이 부호없는 10 진수로 변환하면 4,294,967,295가됩니다. 따라서 우리의 목적 상 0은 4,294,967과 같습니다.


1

음수 값을 계산하는 대신 모든 모니터를 둘러싸려고 할 때 그리는 가상 상자의 왼쪽 상단에 논리적 0,0을 지정하여 모든 값을 양수로 유지하면 이해하기가 더 쉬울 수 있습니다. 모니터를 위나 왼쪽으로 움직일 때 다른 쪽을 오른쪽과 아래쪽으로 밀고있는 것처럼 생각하십시오.

예를 들어, 1280x1024 및 1920x1200 모니터는 첫 번째 작은 모니터가 기본적으로 두 번째의 오른쪽 상단으로 기본 설정되어 있습니다. , 최고는 물론 높지 않기 때문에 낮습니다).

따라서 두 번째 1920x1080 모니터부터 시작하는 위치는 0,0이고 첫 번째는 1920,0입니다. 첫 번째 모니터에 대해 음수-(1920 + 1280), (1200-1024)를 계산하는 대신 첫 번째 모니터를 모든 양수 값 0, (1200 -1024)에 두 번째 모니터를 1280, 0에 두었습니다.

Windows에서 로그 오프 한 후 다시 로그온하면 설정이 적용됩니다. 이것이 Windows Hyper-V Server에서 작동한다는 것을 아는 것도 유용합니다 (방금 2012 R2 에서이 작업을 수행 했으므로이 설정은 여전히 ​​Windows 8 및 8.1에서 작동합니다). 이것은 화면 해상도 설정에서 잠겨 있지만 "베어 메탈"스타일의 호스트 PC (업데이트 또는 재부팅이 거의 필요 없음)를 달성하고 원격 데스크톱을 통해 내부의 가상 컴퓨터와 순수하게 작업하려는 사람들에게 유용합니다 (다른 컴퓨터에서 복사). ).

원래 답변에 대한 techie007 덕분에 이것이 모든 것을 해결하는 열쇠였습니다. 이 변형을 유용하게 표시하면 그의 답변과 질문도 "업"하는 것을 잊지 마십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.