[动态][创建][ActiveX]动态创建ActiveX的问题
09月 17th, 2008 by admin
Posted in VC/MFC | No Comments »
ATL下面想动态创建一个ActiveX,主要代码如下:
HRESULT hr;
RECT rc;
GetClientRect(&rc);
LPOLESTR pstrbrowserid;
StringFromCLSID(IID_ICortona, &pstrbrowserid);
CComBSTR bstrbrowser(pstrbrowserid);
CoTaskMemFree(pstrbrowserid);
HWND hwnd;
hwnd = m_axNestedControl.Create(m_hWnd, rc, 0, WS_CHILD | WS_VISIBLE);
hr = m_axNestedControl.CreateControlEx((LPCOLESTR)bstrbrowser, NULL, NULL, reinterpret_cast <IUnknown**>(&m_pICortona));
调试到这里来时hr显示“没有注册类别”,可我明明已经注册了这个ActiveX啊,GUID也没错,会是什么问题呢?
我把StringFromCLSID换成了StringFromIID,结果还是一样,hr显示“没有注册类别”,还有别的什么问题吗?
已经说了,要用CLSID,不能用IID
[ActiveX][控件][网页]ActiveX控件在网页上不显示什么原因
09月 15th, 2008 by admin
Posted in VC/MFC | No Comments »
本机测试,就是用MFC ActiveX向导默认生成的,用如下方法嵌入网页却不显示
<object name=dtFr classid=clsid:72B1CB72-C23C-4AFD-BB1B-FF16AA8CDC14 style="height:120;width:120" codebase="E:My Worksvc6ActXTryDebugacttry.ocx"> </object>
现实的只有一个
IObjectSafety接口,
up
vc6,直接按照向导生成一个MFC ActivX工程(画椭圆的那个),在网页上加载,选择允许ActiveX运行,是否可以运行?(我的不行…),看到有人说这样可以的。。。。
[Activex][生命][周期]IE下Activex的生命周期的问题
09月 12th, 2008 by admin
Posted in VC/MFC | No Comments »
vc6编的activex,
在ie下的生命周期是什么?
里边的类的生命周期是什么?
还有就是这个activex的事件执行顺序呢?
vc不太懂,不知道问的对不对,
IE进程不消失, 你的DLL就不会析构。
在IE加载之后加载控件,调用Ctrl类里面的OnSetClientSite虚函数,IE在启动和关闭的时候
都会调用这个函数,通过m_pClientSite来判断是启动还是关闭,NULL表示IE关闭,你可以通过
if (m_pClientSite)
{
//IE加载时的代码
}
else
{
//IE关闭时的代码
}
类的析构还MFC是一样的,先析构CTRL,然后是APP,不过我好像觉得IE不会帮你执行其它的析构函数,
除了上边那两个,但是可以手动释放。
加载的时候是先APP,后CTRL
[使用][activeX][控件]mfc 使用activeX控件的问题急急急。。。
09月 5th, 2008 by admin
Posted in VC/MFC | No Comments »
在mfc的dialog中,加入了一个activeX控件。方法如下:
1。资源视图-〉打开对话框
2。toolbox右键-〉添加/删除item ->打开 自定义toolbox
3. 在com组件页选中要添加的com组件,关闭自定义toolbox对话框
4。把新添加的控件添加到对话框中。
我想获得这个新添加的控件的指针,以便对他进行操作,该怎么做??
比如,如果添加一个mfc的按钮,可以通过以下两种方法获得CButton的指针或者实例:
1。DDX(….),将实例与按钮关联。
2。CButton* pBtn = dynamic_cast <CButton*>(GetDlgItem(ID));
这样就可以通过pBtn进行操作。
但是我添加的这个东西不是CWnd继承下来的。怎么获得它的指针阿。
先让控件生成一个类,然后添加这个控件类的对象,就可以访问控件的接口函数了
按照2楼的方法好使了,可以使用这个控件的接口了。谢谢楼上两位。
[编写][webcam][activeX]如何用C++编写webcam activeX控件
08月 25th, 2008 by admin
Posted in VC/MFC | No Comments »
请问谁有相关代码或者资料?谢谢,非常着急.
因为要做原型,我是想越简单越好.另外,用其它语言可以编写么,是不是用C#来做会简单一些?
VC ATL开发
该回复于2008-08-03 06:32:54被管理员或版主删除
[网络][银行][ActiveX]网络银行中的ActiveX的密码输入控件安全吗
08月 24th, 2008 by admin
Posted in VC/MFC | No Comments »
现在许多网络银行都用了ActiveX的控件来输入帐号或密码.
这个安全吗?
有没有这样的可能,我的系统中已中了木马,木马注册了一个classid和classname和网银的ActiveX一模一样的密码输入控件来骗用户的密码?
或者监视打开的网页,在网页中把真的控件隐藏掉,显示一个假的出来骗取用户的密码?
不知道ie中有没有这样的检查机制,即如果服务器上有一个ActiveX自动和本地的ActiveX版本信息,ClassID,ClassName安全一样,日期也一样,文件大小也一样(后面补0),但内容不一样.ie会不会能判断这种差异,然后自动从网上下载最新的去注册?.
没有绝对的安全与不安全,你想想看,在银行里面,你输入passwd安全吗?万一有人盯上你了,还是不安全。
装杀毒软件
网银的ActiveX安全方面出问题不是一天两天的事情了
各大银行的网银ActiveX都因为安全原因更新过很多次
但是还是有很多人中了木马后被盗走整个帐户,还查不到是谁,银行也不肯负责,结果只有自认倒霉
关于这个,各大论坛都有相关贴子的,还有警察被盗了网银的钱,结果也没办法找回来
现在除非是彻底干净的系统,我是不会用网银的,赚点钱不容易
网银的话,里面别放多少钱,就是丢了也不心疼。
不能透支,每次用完了再续。
我觉得还是安全的。
主要是用户自己要有安全意识。
网银顶多就是保证通讯中的安全,客户端的安全是无法保证的,要是已经中了木马,木马随便想干啥干啥。这是没办法的。
嘿嘿
偶申请了一张借记卡,不能透支滴,一般只存200.00
在网上购物就用这张卡
工资卡是绝对不上网的
学习 下!!!
[ActiveX][属性][指针]在ActiveX的属性页中 怎样将一个指针型的变量和对应的ActiveX相应控件关联起来
07月 27th, 2008 by admin
Posted in VC/MFC | No Comments »
如上所述 谢谢
这是我做的插件的里指针变量与Activex控件关联的例子。CSafeCardCtrl *csc_Reader = (CSafeCardCtrl *)gpReader;
说明:CSafeCardCtrl是插件的类名,gpReader是一个全局的指针变量LPVOID型的。希望能解决你的问题。
不懂,学习
根据我对楼主问题的理解二楼的是正解。不过不知道这是不是楼主真正想知道的。
[文档][结构][ActiveX]求助:文档/视图结构的ActiveX控件
07月 23rd, 2008 by admin
Posted in VC/MFC | No Comments »
高手们,大家好。
小弟有一个文档/视图结构的应用程序,现在要把它改成ActiveX控件,在网页中运行。
请问我应该怎么做?
谢谢yjgx007
能给个例子吗?
http://www.codeproject.com/KB/docview/dfv.aspx
yjgx007,你好,你可能误解我的意思了。
我想要编写的是一个文档/视图结构的ActiveX控件,而不是一个具有ActiveX控件的
文档/视图应用程序。
大家赶紧帮帮忙呀,问题解决了就散分!
把界面逻辑从MFC的doc/view架构中独立出来。MFC不支持在ActiveX工程中使用doc/view。ActiveX控件无法控制容器的消息循环。
谢谢蒋晟
大家还有其他建议吗?欢迎各位高手的指点
http://www.codeguru.com/cpp/w-p/dll/article.php/c3637/
这个贴近楼主的需求
非常感谢wshcdr!
问题解决一半了,但是我现在是有一个文档/视图结构的应用程序(exe),而不是一个DLL.
我要先把这个exe改造成一个DLL。
谢谢大家,散分了!
[使用][编写][ActiveX]ASP中使用VC编写的ActiveX控件问题
07月 22nd, 2008 by admin
Posted in VC/MFC | No Comments »
1.我有一个ActiveX控件——AVT,自己用VC写的,它是用来操作指纹扫描仪器的。
在Container中调试是可以通过的,包括开启扫描,关闭扫描等等。
其中开启扫描的接口函数是void SetEnabled();无返回值,无参数输入。
2.这个控件我想用在网页的客户端上,通过这个控件来扫描用户指纹,取得信息后,通过response等上传到服务器。
3.我通过VS2005建立了一个网站工程,在上面使用 <object ……> 加载进ActiveX控件。
4.代码如下:
<head runat="server">
<title>无标题页 </title>
<script language="javascript" type="text/javascript">
function SetFingerScanEnabled()
{
var FgActivex = document.getElementById("Fp");
FgActivex.SetEnabled();
alert(FgActivex);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<object classid="667B0BC2-6390-41D5-B6C4-BACF03EF555B" codebase="../Bin/Interop.AVTLib.dll"
height="200" width="200" id="Fp"> </object>
<input id="Button1" type="button" value="button" onclick="javascript:SetFingerScanEnabled()" />
</div>
</form>
</body>
问题描述:
1.我在控件内部初始化的时候就已经加载了打开扫描仪的命令,但是到了网页上就不能用了。当然,控件我是已经注册过的了。
2.我调用Javascript代码来调用控件的方法,不管用。
我在网上也查了很多的帖子,没有发现那个是能解决我的问题了,也可能是我那里疏忽了。
还有就是,我这种操作底层设备的ActiveX控件是不是本身就受到了什么限制不能用在IE里面?
但是,我知道的是工商银行的U盾的确是操作底层设备的啊?
如果可以在网页上用这个控件,那么如何使用控件的函数?
如果那位仁兄了解这方面的资料请赐教,谢谢!!
Hoboo能解释一下么?
<form id="form1" runat="server"> </form> 是在服务器端运行的,而OCX插件是在客户端运行,你那样写当然不行了
只要做过web方面的开发就应该很清楚了
<object classid="667B0BC2-6390-41D5-B6C4-BACF03EF555B" codebase="../Bin/Interop.AVTLib.dll"
height="200" width="200" id="Fp"> </object>
把codebase改成你服务器上的地址,包括服务器地址本身
很有可能控件没注册成功,,你是边调试边更新你的控件的吗??
[VS2008][ActiveX]VS2008下的ActiveX问题
07月 21st, 2008 by admin
Posted in VC/MFC | No Comments »
以前在VS2003下开发好COM,在网站里写好一个aspx,调用COM,一点问题没有
现在改用VS2008开发COM,用VS2008开发站点调用COM,结果COM一点显示没有,好大一个红XX,不知道什么问题,各位有没有碰到过??
1. VS2008下用VC书写一个MFC ActiveX控件,假设叫TestCom.ocx, CLSID为2465186E-E6F0-4748-BE4A-AD67ECBE276A
2. VS2008下用C#创建一个站点,建立一个Test.aspx,里面的代码也很简单
- HTML code
-
<form id="form1" runat="server"> <object id="aaa" classid="CLSID:2465186E-E6F0-4748-BE4A-AD67ECBE276A"> </object> </form>
3.结果访问http://localhost:2354/test.aspx,可以出来IE的安全警告,确认以后就是一个红x了,com启动不了,也没什么提示
问题已解决,
其实是localhost的问题
在vista下做vs2008网站调试,localhost并不是信任站点,真晕,localhost居然会不是信任站点,
由于ocx可以在安装程序里面注册,所以就是无证书,ie也是会认的,最多报一个无认证的警告。
所以在vista+vs2008下弄com调试,需要降低IE安全系数,并把localhost强制加为信任站点
实现IObjectSafe