ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JavaScript로 ActiveX 존재(설치)여부 파악하는 방법
    Programming/ActiveX 2007. 12. 22. 23:42

    저주받은 최고의 기술 엑티브엑스 ... 암튼..

    상황에 맞춰 엑티브엑스를 설치하고 싶을때나
    그 밖에 생각은 안나는데 많은 경우가 있을것 같습니다..

    자바스크립트를 통해서 엑티브엑스가 설치가 되어 있는지를 파악하는 방법은 간단합니다.









    try
    {
           var axObj = null;
           axObj = new ActiveXObject("ActivexProgID.ActivexProgID");
           if(axObj)
           {
                 alert('엑티브엑스가 존재합니다');
           }
    }
    catch(e)
    {
           alert('엑티브엑스가 존재하지 않습니다');
    }

    위의 소스의 내용을 보시면...

     ActiveXObject를 이용하여 엑티브엑스의 객체를 axObj로 받아옵니다.

    위에서 try, catch 를 사용한 이유는 ActiveXObject로 객체를 얻어올때 해당 객체가 존재하지않으면
    null을 리턴하는것이 아니고 예외상황이 발생합니다.

    그래서 try catch를 사용한 것입니다.

    그리고 ActiveXObject() 에 넣어주는 인자는  우리가 지금 알고자 하는 엑티브엑스의 정보가 될텐데..
    파일명이나 클래스아이디(CLSID)가 아닌 ProgID(프로그램ID)를 넣어주어야 합니다.

    ProgID는 레지스트리편집기에서 확인을 할 수 있습니다.
    아래는 윈도우에서 ajax객체로 사용되는 msxml4.dll 의 ProgID 를 캡쳐한 그림입니다.

    아마 대부분 엑티브엑스의 CLSID나 파일명은 알지만 progid 이름은 잘 모르기때문에
    레지스트리 편집기를 이용해 progid를 확인하시면 됩니다.

    사용자 삽입 이미지

    위에서 Msxml2.XMLHTTP.4.0
    .4.0 은 해당 엑티브엑스( COM )의 버전입니다. 버전은 빼도 무방합니다.

    ActiveXObject('Msxml2.XMLHTTP');     =      ActiveXObject('Msxml2.XMLHTTP.4.0');



    [프로그래밍/ActiveX] - ActiveX 업데이트(파일교체)시 "시스템 재시작" 메시지가 뜨는이유



Designed by Tistory.