IE에서 ActiveX 설치여부 확인하기(ActiveXObject를 이용하여)

언어/JavaScript  2012/10/25 16:51 

 

 


정의

ActiveXObject 개체

(Internet Explorer 에서만 적용된다.)

 

사용

 

var axObj = new ActiveXObject(progid);


var axObj = new ActiveXObject(servername.typename[, location]);


와 같은 방법으로 사용한다.

 

인자로 주어지는 값은 레지스트리에서 확인가능하다.

일단 제공되는 CLSID는 알고 있을것이다.

만약 모른다면,


 

IE의 추가 기능 관리에서 확인할 수 있다.

그래도 모르겠다면 벤더에 문의하면 된다.

 

찾은 CLSID로 REGEDIT에서 검색하면 아래와 같이 나온다.

상위 폴더이름이 ActiveXObject의 인자로 주어지는 progid이다.

(HKEY_CLASSES_ROOT 하위의 CLSID에서 찾으면 progid의 값이 나온다.

CLSID 폴더에 없는 경우가 있으니, 이 때는 클래스아이디로 검색해서 나오는 폴더명을 참조한다.

폴더명 뒤의 .1 은 버전이니 생략해도 된다.)

 

 

예제

 

function check(name, progid){


        var installed;

        var msg;

        try {


               var axObj = new ActiveXObject(progid);

              if(axObj){

                       installed = true;

               } else {

                       installed = false;

               }

        } catch (e) {

               installed = false;

        }


        if(installed) {

               msg = '설치됨';

        } else {

               msg = name + ' 미설치';

        }    

        return '<b>' + msg + '</b><br>';

}    

document.write(check('Adobe PDF Link Helper','AcroIEHelperShim.AcroIEHelperShimObj'));

 

간단하게 IE의 개발자 도구에서 확인할 수 있다.

+ Recent posts