如题,已经做了数字签名了,每次调用ocx控件在ie里还是显示安全警告,请问怎么解决?
解决方案 »
- 如何伪装某个IP地址,向别人发送UDP数据包呢
- 关于查询字段的问题
- 马上给分如何让dbgrid没有竖直滚动条
- 小弟新手 请教大虾 could not convert variant of type (NULL) into type (String)如何处理
- sql中引号的用法
- 小弟做个数据库小程式,需要用几个EDIT输入同一类但内容不同的信息,我想在EDIT的ON CHANGE中进行对比,每个EDIT中的内容都必须是唯一的,
- 哪位大哥大姐能帮小妹一个忙?先谢谢了!
- 用 udp 如何传输自定义的类型?
- 什么时候进行类型强制转换?
- 如何判断一个程序已经在内存中?
- 如何在DLL中连接一个打开的程序的过程
- TcxSpreadSheetBook 打印为什么与Excel不同
unit UpdaterXImpl;{$WARN SYMBOL_PLATFORM OFF}interfaceuses
ComObj, ActiveX, LesUpdater_TLB, StdVcl, Windows;type
TUpdaterX = class(TAutoObject,IObjectSafety, IUpdaterX)
private
FObjectSafetyFlags: DWORD;
protected
procedure Start; safecall;
{ IObjectSafety }
function GetInterfaceSafetyOptions(const IID: TIID; pdwSupportedOptions,
pdwEnabledOptions: PDWORD): HResult; virtual; stdcall;
function SetInterfaceSafetyOptions(const IID: TIID; dwOptionSetMask,
dwEnabledOptions: DWORD): HResult; virtual; stdcall;
end;implementationuses ComServ, Main;function TUpdaterX.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^ := FObjectSafetyFlags and
(INTERFACESAFE_FOR_UNTRUSTED_CALLER or INTERFACESAFE_FOR_UNTRUSTED_DATA);
end
else begin
pdwSupportedOptions^ := 0;
pdwEnabledOptions^ := 0;
end;
end;function TUpdaterX.SetInterfaceSafetyOptions(const IID: TIID; dwOptionSetMask,
dwEnabledOptions: DWORD): HResult;
var
Unk: IUnknown;
begin
Result := QueryInterface(IID, Unk);
if Result <> S_OK then Exit;
FObjectSafetyFlags := dwEnabledOptions and dwOptionSetMask;
end;