Delphi创建OCX控件非常的方便,但IE调用时弹出的安全认证非常麻烦,有时OCX也不需要界面,IE调用时需要隐藏,非常不方便。在DELPHI中创建OCX实现安全接口和创建事件中修改部分代码
实现安全接口 继承:IObjectSafety 重载方法: function GetInterfaceSafetyOptions(const IID: TIID; pdwSupportedOptions, //安全接口 pdwEnabledOptions: PDWORD): HResult; stdcall; function SetInterfaceSafetyOptions(const IID: TIID; dwOptionSetMask, dwEnabledOptions: DWORD): HResult; stdcall; function TZhddMsg.GetInterfaceSafetyOptions(const IID: TIID; pdwSupportedOptions, pdwEnabledOptions: PDWORD): HResult; var Unk: IUnknown; begin if (pdwSupportedOptions = nil) or (pdwEnabledOptions = nil) then begin Result := E_POINTER; Exit; end; Result := QueryInterface(IID, Unk); if Result = S_OK then begin pdwSupportedOptions^ := INTERFACESAFE_FOR_UNTRUSTED_CALLER or INTERFACESAFE_FOR_UNTRUSTED_DATA; pdwEnabledOptions^ := INTERFACESAFE_FOR_UNTRUSTED_CALLER or INTERFACESAFE_FOR_UNTRUSTED_DATA; end else begin pdwSupportedOptions^ := 0; pdwEnabledOptions^ := 0; end; end; function TZhddMsg.SetInterfaceSafetyOptions(const IID: TIID; dwOptionSetMask, dwEnabledOptions: DWORD): HResult; var Unk: IUnknown; begin Result := QueryInterface(IID, Unk); if Result <> S_OK then Exit; end; 无界面: initialization TActiveFormFactory.Create( ComServer, TActiveFormControl, TZhddMsg, Class_ZhddMsg, 1, '', OLEMISC_SIMPLEFRAME or OLEMISC_ACTSLIKELABEL, //OLEMISC_INVISIBLEATRUNTIME or OLEMISC_ACTSLIKELABEL, //隐藏主界面 tmApartment); end.
使用方法分为两种:一、直接把可视化的ActiveX控件放到程序中;二、运行时根据需要实时建立。如果是直接使用,则应用程序在初始化的过程中会自动寻找、创建所需的ActiveX控件,如果控件没有注册,初始化程序会产生一个异常,捕捉并处理这个异常…
Delphi版关于QQ输入控件无法Spy到句柄的实现方案可行性研究QQ2009版本的界面,和以前的版本有个显著的不同,就是无法通过Spy++抓到界面上某些元素的句柄了,对于这个技术的实现方案,相信好多人都有一些揣度,实现方法怎样,有人说是应…
在做Mis项目过程中,有时需要让用户自己来实现窗体控件的布局,比如酒店管理中就需要对餐厅餐桌位置进行布局。要实现这种功能,必须做好三件事:1、设置进入控件边缘的光标形状;2、改变控件的大小及位置;3、保存窗体控件的位置及状态,窗体下次启动时…
以下类允许你在Delphi中动态的创建一个ActiveX组件,并在窗口上显示出来。unitDynamicOleControl;interfaceusesWindows,Classes,ActiveX,OleCtrls,ComObj;type…
首先,您要了解:•COM的基本原理•能被网页调用的非可视ActiveX控件必须是一种至少实现了IOleObject接口的TAutoObject组件•利用Delphi向导生成的ActiveX控件必须继承自WinControl,所以您不能用De…
ASP中的ActiveX服務器組件為標準的AutomationActiveX組件,只要使用由ASP提供的接口和遵守ASP有關規則便可。Delphi4.0作為一種高效、快速、強大的開發語言,為開發COM組件提供了很強的功能,但不知道什么原因,…
安装*最好安装前把文件放到Lib文件夹下:1.把下载的文件解压后放到Delphi目录的Lib文件夹下2.启动Delphi>Open找到刚才放的*.dpk和*.pas选中3.点Install,Compile,Delphi最右边会出现个V…
有网友问我常用的控件及功能。我先大概整理一下,以后会在文章里面碰到时再仔细介绍。DevexpressVCL这个基本上覆盖了系统界面及数据库展示的方方面面,是做桌面系统必备的一套控件,目前的版本是2011.2.3,支持win32及win64。…