台灣最大程式設計社群網站
線上人數
1113
 
會員總數:238866
討論主題:185385
歡迎您免費加入會員
討論區列表 >> C/C++ >> 再問自然人憑證ActiveX開發的問題(6/19)
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
再問自然人憑證ActiveX開發的問題(6/19)
價值 : 500 QP  點閱數:6452 回應數:2

樓主

阿國
門外漢
0 6
50 1
發送站內信

1.今天打開vs2005,開啟一個新的activex專案,名稱叫做dead
2.在dead專案中的dead.cpp加了一段程式碼:
void CDeadApp::CardLock()
{
}

int CDeadApp::CheckCertificate()
{
int iRet;

iRet = AsymEncryptDecrypt();

return iRet;
}


int AsymEncryptDecrypt()
{
return 999;
}
=>再簡單不過了
3.另外在include裡的dead.h也加了這一段:
class CDeadApp : public COleControlModule
{
public:
BOOL InitInstance();
int ExitInstance();
void CardLock();
int CheckCertificate();
};
4.compile成dead.ocx,透過註冊碼找出它的序號,然後製作.inf檔如下:
;Inf for dead.ocx
[version]
signature="$CHICATGO$"
AdvancedINF="2.0"

[Add.Code]
dead.ocx=dead.ocx

[dead.ocx]
file-win32-x86=thiscab
RegisterServer=yes
clsid={B6DDF765-4D80-43D0-A8BB-C12439DAA3D3}
FileVersion=1,0,0,1
4.打包好了cab之後丟到我的網頁server去,預期出現那長條的「下載ActiveX控制項」果然有出現,接著出現訊息問我是否要下載,我都點選「是」了,但是事後從網際網路選項->程式集->管理附加元件的清單中,卻不見dead.ocx,原來它根本沒安裝上去,也沒有出現錯誤訊息
5.另外我的javascript加上這樣的程式碼:
alert(CheckCertificate.AsymEncryptDecrypt());
現在連安裝都有問題了,不過預期是希望如果安裝成功能話要執行這個alert,將999給alert出來
6.另外,程式接下來會包許多的.lib檔與.h檔,因此到時要建置ocx時勢必將這些給include進來,一個朋友告訴我要在:
專案->屬性->C/C++->程式碼產生 中,選擇「多執行緒(MT)」,但是這樣建置之後反而出現錯誤訊息
這些困難點,還需要先進們的指點

搜尋相關Tags的文章: [ visual c++ ] , [ 2005 ] , [ activex ] , [ ocx ] , [ cab ] ,
本篇文章發表於2009-06-19 20:53
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

Sdany
捐贈 VP 給 Sdany 檢舉此回應
元件還是未正確完成安裝,
最好能加個「數位憑證」,會比較容易安裝

http://www.blueshop.com.tw/board/show.asp?subcde=BRD20080430131946B0I&fumcde=
http://www.blueshop.com.tw/board/show.asp?subcde=BRD20090425144541COE&fumcde=

C語言開發,我不熟
這有個 VB 寫的元件,可以參考一下
http://www.blueshop.com.tw/download/show.asp?pgmcde=PGM2008061609171932H

相關資訊
http://houseforrentadvertisement.blogspot.com/2009/05/sdkhisecure-apiwindowslinux.html
本篇文章回覆於2009-06-24 11:44
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

阿國
檢舉此回應
感謝Sdany的回答
不過我這個必須用VC++開發
其中專案開啟之後函式的寫法:
int CDeadApp::CheckCertificate()
int AsymEncryptDecrypt()
可能Javascript認不出來....現在卡的問題是,要怎麼寫,讓它import出來,Javascript可以認出來,直接用
[object-tag].CheckCertificate
就可以執行
本篇文章回覆於2009-06-25 10:26
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.