자유롭게 이야기를 적는 공간
매크로 제작중 고민
매크로 제작 과정에서 고민이 있는데요. 개인적인 필요에 의해 매크로를 만들고 있는데,
난항을 겪고 있습니다.
컴퓨터 전공자가 아니거나 해당 지식이 없어도 이해할 수 있게 쓰겠으니
아이디어가 있으시면 도움주세요(큰 기대는 안합니다만)
일단 자바로 짜고 있는데요.
윈도우 익스플로러를 켰을 때 로딩됐는지 안 됐는지 알아내야 합니다.
VC++, VB, C#은 윈도우 제어가 편한 반면, 자바는 그렇지가 못해서 익스플로러의 내부 값(로딩 여부)은 갖다쓸 수가 없습니다.
게다가 익스플로러가 아니라 크롬이나 파이어폭스, 오페라에도 적용해야겠죠.
그래서 물리적으로 체크를 하기로 했는데요.
전체 창에서 가로로 7등분 *세로로 7등분=총 49군데의 픽셀값을 검사해서
1초 이전과 현재가 동일한지 검사합니다.
3번 연속 동일하면 다음으로 넘어가는 식이지요.
여기서 10% 정도 확률로(매우 높은 확률이죠) 한 두 번씩 문제가 생기는데..
문제1. 익스플로러가 아예 로딩이 안되어서, 전부 하얀색 화면일 경우,
로딩이 된걸로 판단함
문제2. 역시 익스플로러가 느려서, 화면 그림이 더 나타나지 않은채 정지되어있었는데,
로딩이 된 것으로 판단함.
이 정도 문제가 있겠습니다.
어떻게 하는게 현명할까요.
이건 공대랑 아무상관없고, 컴알못들의 의견도 받습니다 ㅠ
3줄요약
1) 익스플로러 로딩됐는지 안됐는지 판단하려고 했음
2) n군데의 색상값을 조사해서 이전과 같은지 다른지 판단, 색상값이 3번 연속
동일하면 통과, but 오작동 발생
3) 오작동을 줄일 방안은 무엇일까요?
P.S 해결책은 크게 두 가지가 있을 수 있는데요,
하나는 제가 제시한 방식 내에서 선택을 바꾸는 것, 하나는 아예 새로운 방식을 제시하는 겁니다.
전자로 따지면 아마 적절한 숫자 조합을 찾는게 빠를거 같습니다.
5*4 = 20군데를 검사하되 15번 연속 체크하는 것과,
10*10=100군데를 검사하되 3번 연속 체크하는 것과 무엇이 더 효과적일까요. 곱하면 똑같이 300번인데.
(참고로 당연한 얘기지만, 총횟수가 늘어나면 늘어날수록 느려져서
익스플로러 로딩에도 영향이 옵니다=하얀 화면으로 멈춰있을 확률 증가)
이 글 쓰고 숫자값을 조절했더니 괜찮은 결과가 나오네요.
단, 플래시나 움직이는 gif가 있는 페이지를 로딩하지 않은걸로 인식하는 경우가 있음.
결국 윈도우창 로딩 여부를 물리적으로 검사하기 위해선
창 전체를 검사하는게 아닌,
사용자가 특정 영역을 지정할 수 있도록 해서,
해당 영역만 꼼꼼하게 체크하도록 만들어야겠음.