ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 인터넷 익스플로러(IE) 창 크기 레지스트리 정보 (Window_Placement)
    OS/Windows 2018. 7. 27. 16:26

    ShellExecute로 ie실행시 브라우저창의 위치와 크기를 설정해야 하는 경우가 있어 찾아본 방법입니다.

    레지스트리 HKCU/Software/Microsoft/Internet Explorer/Main 키의 Window_Placement항목에 위치와 크기관련 정보가 Binary형태로 저장되어 있습니다.

    참고사이트 : http://resiler.tripod.com/cgi-bin/

    해당값은 ie창을 닫을때마다 저장되고 열때 해당값을 참조하여 열립니다.

    Window_Placement값은 44바이트 바이너리입니다. 데이터 형식이 따로 공개된 것이 없어서 ie창을 열고 닫으며 확인한 정보입니다.

    사진처럼 5가지 정보외 나머지 값은 무엇을 의미하는지 모르겠습니다.

    그리고 항목별 크기도 추측이기때문에 틀릴 수 있구요.

    일단 9번째 값은 기본값은 1이고 최대화일때는 3입니다.

    그리고 28번째 바이트부터 끝까지 RECT구조체와 동일한 것으로 보입니다.

    순서대로 Left, Top, Right, Bottom 값입니다. (Little-endian으로 저장되어 있으니 편집할때는 값을 뒤집어서 저장해줘야 합니다.)

    예를 들면 right값은 현재 0xEE020000이니 뒤집으면 0x000002EE 로 10진수 750입니다.


    위 정보를 토대로 값을 변경해주면 해당 크기로 ie창이 열리는데요

    이것도 실제로 해보면 제약이 있더군요.

    아래와 같은 경우 좌표가 강제로 변경이 됩니다. 

    - 기존에 열려있는 ie창과 left-top 좌표가 동일한 경우

    - 좌표가 모니터 영역을 벗어나는 경우 (듀얼모니터인 경우 주모니터 기준으로 계산되는 듯 합니다.)


    약간 느슨하게 좌표와 영역이 맞아도 상관없는 경우에는 해당 레지스트리를 수정해 사용해도 무방할 듯합니다.


    끝..


Designed by Tistory.