如何给active dll 加上license ?

mycreatedream 2003-03-27 06:39:04
如何给active dll 加上license ?象active 控件那样,没有license的只能用于运行,有license的才可以用于开发?
...全文
115 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
shines77 2003-04-17
  • 打赏
  • 举报
回复
MARK
cxf1976 2003-04-17
  • 打赏
  • 举报
回复
真是高………………手
mycreatedream 2003-04-17
  • 打赏
  • 举报
回复
to RedStar81(流刀T'ang) :
我要做的不是一个active控件,而是active dll,请问有没有更多的建议?
RedStar81 2003-04-16
  • 打赏
  • 举报
回复

代码有点繁,提个思路
具体自己看MSDN
根据“环境属性”判断控件处于什么状态

IOleControl实现OnAmbientPropertyChange(DISPID)来响应环境的变化
GetAmbientUserMode(Bool)来确定状态
mycreatedream 2003-04-14
  • 打赏
  • 举报
回复
怎么就没有人回答?
mycreatedream 2003-04-02
  • 打赏
  • 举报
回复
没有人知道吗?
mycreatedream 2003-03-30
  • 打赏
  • 举报
回复
to nelsonc() :
但是如何才能象ocx那样区分设计状态和运行状态呢?我想这个activex dll在设计状态时需要license,运行状态是不需要license 。
nelsonc 2003-03-29
  • 打赏
  • 举报
回复
在ATL中实现如下:

1; 建立License类

License.h

class CLicense
{
public:
static BOOL VerifyLicenseKey( BSTR bstr );
static BOOL GetLicenseKey( DWORD dwReserved, BSTR* pBstr );
static BOOL IsLicenseValid( );
};

License.cpp

static const OLECHAR LicString[] = OLESTR("License1");

BOOL CLicense::VerifyLicenseKey( BSTR bstr )
{
return wcscmp(bstr, LicString) == 0;
}

BOOL CLicense::GetLicenseKey( DWORD dwReserved, BSTR* pBstr )
{
* pBstr = NULL;
return TRUE;
}

BOOL CLicense::IsLicenseValid( )
{
return FALSE;
}

2. 在COM类中声明ClassFactory2
class ATL_NO_VTABLE CtmpDllObj01 :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CtmpDllObj01, &CLSID_tmpDllObj01>,
public IDispatchImpl<ItmpDllObj01, &IID_ItmpDllObj01, &LIBID_TMPDLLCOMLib>
{
...
DECLARE_CLASSFACTORY2(CLicense)
...
};
WQ 2003-03-28
  • 打赏
  • 举报
回复
好像是类厂上的实现IClassFactory2,不能确定
bloodna 2003-03-27
  • 打赏
  • 举报
回复
up

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧