乙個ActiveX控制項安全註冊的例子

2021-03-31 12:50:47 字數 2295 閱讀 5104

#include

#include

#include

.../

// dllregisterserver - adds entries to the system registry

/* 原來的**(被注釋)

stdapi dllregisterserver(void)

/// dllunregisterserver - removes entries from the system registry

stdapi dllunregisterserver(void)

*///用途: 註冊元件分類

//說明: 元件安全性種類就是通過元件分類的註冊才得以設定元件的安全性

hresult create***ponentcategory(catid catid, wchar* catdescription)

categoryinfo catinfo;

catinfo.catid = catid;

catinfo.lcid = 0x0409 ; // english

//說明: 確保提供的描述不會超長, 僅僅複製前127個字元

int len = wcslen(catdescription);

if (len>127)

len = 127;

wcsncpy(catinfo.szdescription, catdescription, len);

// 確保描述使用"/0"結束

catinfo.szdescription[len] = '/0';

hr = pcr->registercategories(1, &catinfo);

pcr->release();

return hr;

}//用途: 在已經存在的元件分類中進行介面類的註冊

hresult registerclsidincategory(refclsid clsid, catid catid)

if (pcr != null)

pcr->release();

return hr;

}//用途: 反註冊已存在元件分類中的介面類

hresult unregisterclsidincategory(refclsid clsid, catid catid)

if (pcr != null)

pcr->release();

return hr;

}//註冊伺服器

stdapi dllregisterserver(void)

//建立初始化安全元件分類

hr = create***ponentcategory(catid_safeforinitializing,

l"controls safely initializable from persistent data!");

if (failed(hr))

return hr;

//在上面的分組之中註冊介面類

hr = registerclsidincategory(clsid_pssub, catid_safeforinitializing);

if (failed(hr))

return hr;

//建立指令碼程式設計安全元件分類

hr = create***ponentcategory(catid_safeforscripting,

l"controls safely scriptable!");

if (failed(hr))

return hr;

//在上面的分組之中註冊介面類

hr = registerclsidincategory(clsid_pssub, catid_safeforscripting);

if (failed(hr))

return hr;

return noerror;

}//用途: 反註冊伺服器

stdapi dllunregisterserver(void)

//刪除登錄檔入口

hr=unregisterclsidincategory(clsid_pssub, catid_safeforinitializing);

if (failed(hr))

return hr;

hr=unregisterclsidincategory(clsid_pssub, catid_safeforscripting);

if (failed(hr))

return hr;

return noerror;

}注意: 上面的clsid_***就是你的自己的控制項的clsid替代

ActiveX控制項註冊與反註冊

regsvr32.exe regsvr32 u s n i cmdline dllname 引數 u 反註冊控制項 s 指定 regsvr32 安靜執行,且不顯示任何訊息框。n 指定不呼叫 dllregisterserver。此選項必須與 i 共同使用。i cmdline 呼叫 dllinstall...

有關ActiveX控制項的註冊小結

technorati 標籤 activex控制項,控制項註冊 出處 http blog.csdn.net slowgrace archive 2008 12 15 3521857.aspx 1.activex控制項在使用之前必須滿足兩點 2.如果不滿足以上兩點,在使用過程中可能會有提示如下錯誤資訊 ...

如何註冊ActiveX控制項 ,並在jsp頁面呼叫

如何註冊activex控制項 對某個ocx控制項進行註冊,用命令regsvr32命令 對ocx控制項註冊的命令 1.regsvr32 s ocx檔案的絕對路徑 此命令不彈對話方塊直接註冊成功 2.regsvr32 ocx檔案的絕對路徑 此命令將彈出對話方塊提示註冊成功 對ocx控制項登出的命令 1....