2009년 10월 14일 수요일

[ActiveX]웹사이트 접속시 해당프로그램 설치 유무 후 프로그램실행시키기

이 프로그램 내용은 제목과 같이...

 

웹사이트 접속해서 액티브엑스를 실행시키면 프로그램 설치 여부를 체크 하여...

미설치 되었으면 파일을 다운로드 받아서 설치 해 주는것이고...

설치 되었으면 해당 프로그램을 실행해 주는 것입니다.

 

일단 이 엑티브엑스를 만들기 전에...

 

해당 셋업 프로그램에 셋업시 특정 레지스트리에 실행파일 위치를 적어 놓도록 했습니다.

그래서 셋업을 하게 되면 레지스트리에 실행할 디렉토리가 남게 되는 것이고...

그 레지스트리 값을 읽어와서 레지스트리에 값이 있으면 실행

아니면 다운로드 후 실행 과 같은 형태입니다.

 

서버에 올릴 HTML 소스

 

HTML 간략 내용.

<OBJECT

</OBJECT>

이건 액티브엑스 만든후 생성된 파일에 보면 있습니다. 그 내용을 그냥 복사한 내용입니다.

<SCRIPT TYPE="TEXT/JAVASCRIPT"

 

 

  if (parameters.length > 1)
  {
   AX.SETID = request.getId();
  }
 AX.ButtonClick = 1;

/SCRIPT>

이건 URL 의 변수부분을 받아 오기 위한 부분입니다.

가령 http://zeron.co.kr/rfid.html?id=test 이렇게 입력을 하게 되면...

AX.SETID = request.getId(); 여기에서

액티브엑스의 변수 ID 에 test 라는 아이디를 셋팅하게 되는 과정입니다.

AX.ButtonClick = 1; 이건 액티브엑스의 버튼을 클릭하게 하는 것이구요...

 

스크립트 내의

function activeX_self() 함수는 액티브엑스가 설치되어 있는지 유무를 체크합니다.

설치 되어 있다면 위의 엑티브엑스를 실행 했으니...

 

      if(Installed == true)
    {
     window.opener='Self';
    window.open('','_parent','');
    window.close();  //설치되어 있으면 창을 닫는다.
   }
    else
    {
   alert("ActiveX 를 설치 하셔야 합니다..");
    }

 

설치되어 있으면 액티브엑스 실행후 창을 닫고 아니면 아래 화면을 쭉 뿌려 주면서

액티브엑스 설치 할 수 있도록 화면에서 안내를 해 줍니다.

 

제가 웹쪽에 거의 문외한이라 블로그에 화면 덤프 뜬 다음 카피해서 붙여놓은거라...

화면이 예쁘지 않네요...

http://zeron.co.kr/rfid.html  테스트 해 보실 수 있는 주소입니다.

 

 

델파이 ActiveX 소스

 

 

소스에서 보시면

procedure TaxGuestStart.Set_ButtonClick(Value: Integer);
begin
  if Value = 1 then  ProgramExcute;
end;

procedure TaxGuestStart.Set_SetID(const Value: WideString);
begin
  L_stUserID := string(Value);
end;

이 부분이 스크립트와 연동되는 부분입니다.

 

이건 요즘 델파이 거의 사용 안하시지만...

혹시라도 델파이와 액티브 엑스 연동 과정에 필요하신 분 있을까 봐서도 올렸지만...

 

혹시라도 나중에 제가 다시 액티브 엑스 관련된 프로그램 할 수 있으면...

제가 참고 하기 위해...

자료 보관 차원에서 데이터를 올립니다.

 

 

 

 

댓글 없음:

댓글 쓰기