ActiveX 등록하기...


1. 우선은 *.cab 나 *.ocx 파일이 있어야 합니다.
  (앞으로 *는 test로 하겠습니다. - 제가 test로 시험을 해서...)
  cab나 ocx는 vb를 통해 만드는 방법이 많이 있으므로 생략하겠습니다.


2. test.lpk 화일 만들기
  lpk 파일을 만들기 위해서는 lpktool.exe 란 프로그램이 필요합니다.
  (마이크로소프트 사이트나 기타 사이트에 많이 있습니다.)
 
  압축을 푼 후 lpk_tool.exe 파일을 실행시키면 리스트 박스가 두개 나타나죠?
  왼쪽의 리스트 박스는 레지스트리에 등록된 목록입니다.
  등록명은 프로젝트명.클래스명 으로 나와 있습니다.
  (저의 경우는 test.usercontrol1으로 나와있더군요)

  만약 레지스트리에 등록이 않되어있다면 regsvr32 명령으로 먼저 등록하시구요..

  (다른곳은 test.lpk파일을 나중에 만들던데, 나중에 만들면 이상이 생기더군요..
     다음에 htm파일에 param테그를 고치는 부분이 있는데, 이것을 하려면 보안 인증 전에 먼저 lpk파일을 작성해야 합니다.)

  그리고 만들어진 test.lpk 파일을 가지고 이미 만들어진(vb로 만드셨다면 test.cab파일과 test.htm파일이 만들어지죠?) test.htm파일의 param테그 부분을 고칩니다.

  원본         : <PARAM NAME="LPKPath" VALUE="LPKfilename.LPK">
  고치고 난 후 : <PARAM NAME="c:\test\" VALUE="test.LPK">

  lpkpath부분은 lpk파일이 들어있는 곳의 풀패스를 적어야 합니다.


3. 이제는 그 문제가 많던 보안 부분의 해결입니다.
   (참고로 저는 델파이 사이트에서 어느분이 해결한 부분을 제가 다시 적용해서 적습니다.)

  마이크로소프트 사이트나 기타 사이트에 codesign.exe파일이나 inetsdk.exe파일이 있습니다. 두 파일은 모두 똑 같으므로 둘 중 하나만 받아서 사용하세요..

  압축을 풀고 다음과 같이 실행합니다.(명령프롬프트에서 하시는게 젤 편해요..)
  (앞으로 나올 *.pvk, *.cer, *.spc파일의 이름은 아무렇게나 해도 상관이 없고, 확장자만 잘 지키세요)

  ㄱ. 먼저 해당 디렉토리로 갑니다.(inetsdk\bin까지)
  ㄴ. SETREG 1 True
  ㄷ. MAKECERT -n "CN=금명식의 보증서" -sv Test.Pvk Test.Cer
           - "cn="금명식의 보증서"부분은 아무 말이나 상관 없어요..
  ㄹ. [Create Private Key Password] 대화상자가 뜨며 암호를 요구하면 아무 거나 입력한다. 단 기억할 수 있는 암호로... (암호를 두번 물어보는데 - 기억으로는 sub암호까지 - 모두 같은 암호를 입력한다.)
  ㅁ. CERT2SPC Test.cer Test.spc
  ㅂ. 다시 대화상자가 뜨며 암호를 요구하면 아까 암호를 넣는다.
      (저의 경우는 한번도 안물어 보네요..)
  ㅅ. SIGNCODE -spc Test.spc -v Test.Pvk -n "Test" c:\test\Test.cab ( 여기서 Test.OCX는 내가 만든 OCX의 이름으로 대체하면 된다. 이름을 대체할때 파일이 저장된 풀 패스를 쓰세요)
  ㅇ. 또 대화상자가 뜨며 암호를 물어보면 아까 그 암호를 또 넣는다.
      (이것도 안물어 보는 경우가 있다는 사실...)


  위와 같이 해서 모두 성공하셨다면
  (참고로 ㄴ, ㄷ(ㄹ),ㅁ(ㅂ) 을 하게 되면 모두 succeeded란 메세지가 뜨고, ㅅ을 성공하게 되면

   warning : this file is signed, but not timestamped.
   succeeded
  란 말이 나오게 되는데 별 문제 없는것 같더라구요..)


4. 이제 체크를 해 볼까요?

  아직 명령프롬프트를 종료 안했죠?
  그 상태에서
   chktrust test.cab
  를 합니다. 그러면 어떤 메세지 박스가 뜨죠?
  그게 웹에서 다운 받기 전의 박스입니다.

  그러면 이제 모두 성공했어요..(참고로 전 3번의 방법으로 모두 test.ocx파일까지 했습니다.-다른 분이 "ㅅ"부분만 다시 하면 됀다고 하는데, 불안해서시리.. )


5. 이제는 탐색기에서 inetsdk\bin폴더를 보시면 test.cer이란 파일이 만들어져 있죠..
 
  test.cer이란 파일을 실행시키면 보안 인증서를 얻을 수있습니다.
  다른건 다 참고로 보는 것이고 "일반탭에서-보증서설치버튼"을 누르세요..
  그리고  계속 "다음-다음-마침.."
  그럼 보증이 되었데요..



  이제 server가 된 컴퓨터에서는 레지스트리에 등록이 되어있어 시험은 못하고, 다른 컴퓨터로 이 곳으로 연동한다면 원하는 결과를 볼 수있을꺼에요..









***** asp와 vb연동하기 (param테그로 값을 vb로 넘기기) *****

1. ActiveX 컨트롤에 값을 받을 수 있는 프로퍼티를 만들어야 합니다.
방법은 비주얼베이직의 ActiveX컨트롤 인터페이스 마법사를 사용하면 간단
ActiveX컨트롤 인터페이스 마법사를 사용하는 방법
(1) 추가기능에서 추가기능관리자에서 ActiveX컨트롤 인터페이스 마법사를
추가하고 로드시킨다.
그러면 추가기능메뉴에 ActiveX컨트롤 인터페이스 마법사가 등록된다.
(2) ActiveX컨트롤 인터페이스 마법사를 실행
(3) 인터페이스 구성원 선택에서 불필요한 구성원은 모두 선택해제 한다.
필요하면 선택
(저는 모두 필요가 없어서 선택 해제했음)
(4) 사용자정의 구성원에서 추기를 클릭한다.
그리고, 예를 들어 memid라는 속성(프로퍼티)를 추가한다. 그리고, 다음
(여기서 추가를 할때 이름이 중요 - asp에서 그대로 이름을 사용한다.)
(5) 매핑설정은 필요하면 매핑시키고, 필요없으면 건너뛴다.
여기서는 건너뛰었다.
(매핑 설정을 했어요..
제가 한 것은 string형 변수가 필요했기 때문에, text박스를 하나 만들어서 그 박스의 text속성(text1.text)에다가 연결시켰어용)
(6) 특성설정인데 데이터형식을 지정한다.
여기서는 String을 지정하였다. 기본값은 "" 빈문자열로 하고
(7) 그리고 마침하면 아래쪽과 같은 코드가 생긴다.
이 코드는 memid라는 속성에 대한 ActiveX 컨트롤 인터페이스이다.


2. 비주얼 인터데브로 ASP페이지를 오픈하고
개발한 ActiveX컨트롤을 등록하고 페이지에 올려놓으면
화면에 ActiveX컨트롤이 보일 것임
(레지스트리에 등록되어 있으면(안돼면 regsvr32명령으로 등록을 먼저하자) 왼쪽 Toolbox에서 오른 마우스를 누른 후 내가 만든 ocx를 등록할 수 있다.)

3. 이 ActiveX컨트롤을 선택하고 등록정보를 보면 사용자가 작성한
프로퍼티를 확인할 수 있을 것임.
이 프로퍼티에 <  %=변수명%  > 이런 식으로 하고 웹페이지를
실행하면 값을 받을 것임.
(여기서 문제가 생기는 데, 인터데브는 .ocx파일만 전송하도록 되어있기 때문에 .cab파일도 전송하도록 해야 한다.
그러므로 .cab파일을 만들때 생기는 .htm파일을 보면 classID가 나온 후 "codeBase=test.CAB#version=1,0,0,0" 부분이 있다.
이걸 인터데브로 만든 파일의 classID이후 부분(.htm과 같은 위치)에 복사해서 붙여 놓는다.)


4. 그리고 값을 받은 뒤 바로 시행하게 하기 위해서는
UserControl_Show()이벤트에 해당코드를 작성하기 바람.
(UserControl_Show()안에서 text1.text의 값은 어느 변수에 기억 시키고 그 변수를 가지고 작업을 하게 되면 원하는 결과를 얻을 수 있다.
간단히 msgbox로 확인을 해 보면 쉽게 제대로 작동함을 알 수 있다.)
728x90
다른건 모르겠는데... 누군가를 만나고 이야기하려면
핸드폰이 되어야 한다는 생각을 가지게 되었다.
이번에 디카를 건네줄때도 최소한 핸드폰이 되어야 제대로 만나기라도 하지..
결국 핸드폰을 되살렸다.
한동안 수신만 되다, 결국 수신 정지가 되서야 살렸다.
참으로 이번달은 피가 마른다.

피의 4월이라고 하는 건지 원...
728x90
에효... 디카 산다는 넘이 45만원에서 안산다고 했다가, 갑자기 35 불러...
그만 두었다. 에라이.. 예약이 35라고 하니깐.. 짜슥.
하여간, 35에 낙찰되서 일단 일순위의 선경이에게 의견을 묻자,
오케라고 해서, 결국 내일 물건 전달을 할 예정이다.
오늘 집에가서 포장 재료들과 기타 부품들을 쭈욱 수집해서 때려박아서
전달해야징 ^^

에효... 살기 참으로 힘들다. 그리고.. 뭐가 남았지?
모 팔면 되나?
728x90



몰랐는데, 어제 날짜부로 수신정지 까지 걸린것 같다.
12만 3천원 이라는데...
에효... 그돈 안냈다고, 이렇게 매정하게 수신마저 정지 시키다니..
젠장.

뭐 할 수 없는거 아닌가 싶기도 하지만 에효....
게다가 디카도 산다고 한 놈이 안산데요... 에효.
한숨만 절로 느는구나.. 담배 한가치 피어 물고 싶은데... 돈이 없어 담배도 못사는군.
젠장.
728x90
SK 텔레콤에 연체가 3개월.
총 연체 비용 123,000 원. 결국 발신 정지까지 왔다.
경고로 더 늦으면 수신 정지까지 온다고 했다.

국민은행에서 껄떡하면 전화온다.
돈내라고. 이젠 그나마 연체중에도 작동하던
교통카드 기능도 정지해 버렸따.

왜 자꾸만 그 돈에대해서 회피하고 싶다고나 할까?
그 돈 말고도 다른데 갚는데 쓰고 있다. 내 자신에 대한 투자는 늘 2 차의 문제로 남는다.
오로지 남을 위한 삶을 살고 있는건지.

요즘은 늘 삶자체가 죽을 수 있으면 죽어 봐라는 식이다.
전화기, 교통카드... 결국에 하나씩 죽어 나간다. 아니, 교통 신용카드는 완전히 죽었군
얼마나 불편하지 해봐라 식인것 같다. 모르겠다. 이일을 계기로 하나씩 정리하는 것에
속도를 더해야 겠다. 제...길....
728x90
집에 오자마자 잤다가, 일어나자마자 나가다 보니,
실제 집에서 이렇다할 것을 하는 것이 거의 없다.
컴퓨터도 그렇고, 게임기 이자 훌륭한 DVD Player인 PS2도 마찬가지였다.
매일 그렇게 썩히는 기계를 정오에게 빌려주었다.
오히려 이게 더 나은 선택인지도 모르겠다.

뭐 하긴 이리저리 굴러다니면 분명 감가상각에 관련된 것이 발생하긴 하겠지만
그렇다고 매일 먼지속에서 제대로 움직여 주지 않는 것은 더 심한 문제를 야기하는
것인지 모르겠다는 생각이다.
어쨌던 오늘 부로 그렇게 빌려주었고,
그 친구가 징하게 하고 난 뒤, 혹은 자신이 직접 그 기계를 구입하게 된다면
그 때 받게 되지 않을까 싶다.
아마도 그렇게 될 즈음엔 나도 한가로이 게임을 하거나 하고 싶어 할지도 모르겠다는
생각이 든다.
728x90
이번 주 주말에서 부터 식목일까지 시골에 내려가신다고 한다.
뭐 아직 뚜렷하게 말씀은 안하셨는데, 노래방 조치를 어떻게 하실지..
나도 그렇고, 은애도 그렇고, 쉬이 나와서 노래방을 볼 수 있을것 같지는 않은데
어떻게 해야 할지 모르겠다.
물론 생활하는데는 아무런 지장이 없다.
그냥 쥐죽은 듯이 있는 것 잘하니까, 특별히 먹는 것에 대해서 고민하지만 않으면 깔끔하게
유지 될테니까. 흠.. 내려가실때, 방이나 청소할까? 그것이 나을듯.
하여간, 이번 주말은 그럭저럭 보내고...
문제는 식목일이군.
이번에는 출근 하라고 하니.. 출근 해야 겠지만...
에효....

뭐 어쨌던간데, 시골 따라갈 수 없으니 그냥 뭐...
728x90
팔 목록.
일단.. NetDisk 는 팔렸으니까, 빼고...
노트북 TP-240Z
디카
셀빅
플스2
아주 후진 PC?
HDD 다찌..
또.. 뭐 없을까?

슬슬, 팔아버리고 정리해 버려야지. 돈도 좀 모아야 겠고.. 흠흠.
팔자 팔어.. 모두 ...
돈이 제일이야.. 물건 따윈 흑흑
728x90

+ Recent posts

728x90