社区
C#
帖子详情
C#中的AtiveX怎样实现IObjectSafety接口?
Alfred
2005-12-02 02:50:30
不要给没通过实验的答案,因为网上很多文章不是错误就是写的很模糊。
...全文
1052
9
打赏
收藏
C#中的AtiveX怎样实现IObjectSafety接口?
不要给没通过实验的答案,因为网上很多文章不是错误就是写的很模糊。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Alfred
2005-12-05
打赏
举报
回复
谢谢你提供源码,但我不会用,是不是要打包发布才行。我直接用不好使。
Alfred
2005-12-05
打赏
举报
回复
我打包以后就可以用了,但在安装控件的时候竟然出现了类似安装应用程序的窗口,有办法像VC和VB做的一样点安装以后在后台安装吗?
lovevsnet
2005-12-04
打赏
举报
回复
我已经把源码发给你了,你自己好好看
lovevsnet
2005-12-04
打赏
举报
回复
我已经全给你写出上了,我写过的源码也就这个了
[Guid("CB5BDC81-93C1-11CF-8F20-00805F2CD064"),InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IObjectSafety
{
// methods
void GetInterfacceSafyOptions(
System.Int32 riid,
out System.Int32 pdwSupportedOptions,
out System.Int32 pdwEnabledOptions);
void SetInterfaceSafetyOptions(
System.Int32 riid,
System.Int32 dwOptionsSetMask,
System.Int32 dwEnabledOptions);
}
//write your ActiveX Interface Code here
//以下是IObjectSafety实现:
#region IObjectSafety 成员
public void GetInterfacceSafyOptions(Int32 riid, out Int32 pdwSupportedOptions, out Int32 pdwEnabledOptions)
{
// TODO: 添加GetInterfacceSafyOptions 实现
pdwSupportedOptions =1;
pdwEnabledOptions =2;
}
public void SetInterfaceSafetyOptions(Int32 riid, Int32 dwOptionsSetMask, Int32 dwEnabledOptions)
{
// TODO: 添加SetInterfaceSafetyOptions 实现
}
#endregion
Alfred
2005-12-04
打赏
举报
回复
有没有原代码?发一份webmaster@huayi.ln.cn
//后面的真不知道怎样写
lovevsnet
2005-12-03
打赏
举报
回复
[Guid("CB5BDC81-93C1-11CF-8F20-00805F2CD064"),InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IObjectSafety
{
// methods
void GetInterfacceSafyOptions(
System.Int32 riid,
out System.Int32 pdwSupportedOptions,
out System.Int32 pdwEnabledOptions);
void SetInterfaceSafetyOptions(
System.Int32 riid,
System.Int32 dwOptionsSetMask,
System.Int32 dwEnabledOptions);
}
以下是IObjectSafety实现:
#region IObjectSafety 成员
public void GetInterfacceSafyOptions(Int32 riid, out Int32 pdwSupportedOptions, out Int32 pdwEnabledOptions)
{
// TODO: 添加GetInterfacceSafyOptions 实现
pdwSupportedOptions =1;
pdwEnabledOptions =2;
}
public void SetInterfaceSafetyOptions(Int32 riid, Int32 dwOptionsSetMask, Int32 dwEnabledOptions)
{
// TODO: 添加SetInterfaceSafetyOptions 实现
}
#endregion
Alfred
2005-12-02
打赏
举报
回复
楼上的大哥我就怕给这个答案,不知道是我理解能力差还是他写的不明白。尤其他写的实现IObjectSafety接口那块对我们新手来说简直不敢恭维。
jxufewbt
2005-12-02
打赏
举报
回复
http://homer.cnblogs.com/archive/2005/01/04/86473.aspx
cw888
2005-12-02
打赏
举报
回复
有个VC.NET的,你看看!没有帮助就算我顶!
// IObjectSafety的定义
BEGIN_INTERFACE_MAP(CDSMultiFileUploadCtrl,COleControl) // Add for IObjectSafety
INTERFACE_PART(CDSMultiFileUploadCtrl,IID_IObjectSafety,ObjectSafety) // Add for IObjectSafety
END_INTERFACE_MAP() // Add for IObjectSafety
STDMETHODIMP CDSMultiFileUploadCtrl::XObjectSafety::SetInterfaceSafetyOptions( // Add for IObjectSafety
REFIID riid, DWORD dwOptionsSetMask, DWORD dwEnabledOptions ){ // Add for IObjectSafety
METHOD_PROLOGUE(CDSMultiFileUploadCtrl, ObjectSafety); // Add for IObjectSafety
return S_OK; // Add for IObjectSafety
} // Add for IObjectSafety
STDMETHODIMP CDSMultiFileUploadCtrl::XObjectSafety::GetInterfaceSafetyOptions( // Add for IObjectSafety
REFIID riid, DWORD* pdwSupportedOptions, DWORD* pdwEnabledOptions){ // Add for IObjectSafety
METHOD_PROLOGUE(CDSMultiFileUploadCtrl, ObjectSafety); // Add for IObjectSafety
return S_OK; // Add for IObjectSafety
} // Add for IObjectSafety
STDMETHODIMP_( ULONG ) CDSMultiFileUploadCtrl::XObjectSafety::AddRef(){ // Add for IObjectSafety
METHOD_PROLOGUE(CDSMultiFileUploadCtrl, ObjectSafety); // Add for IObjectSafety
return pThis->ExternalAddRef(); // Add for IObjectSafety
} // Add for IObjectSafety
STDMETHODIMP_( ULONG ) CDSMultiFileUploadCtrl::XObjectSafety::Release() { // Add for IObjectSafety
METHOD_PROLOGUE(CDSMultiFileUploadCtrl, ObjectSafety); // Add for IObjectSafety
return pThis->ExternalRelease(); // Add for IObjectSafety
} // Add for IObjectSafety
STDMETHODIMP CDSMultiFileUploadCtrl::XObjectSafety::QueryInterface( // Add for IObjectSafety
REFIID iid, void FAR* FAR* ppvObj){ // Add for IObjectSafety
METHOD_PROLOGUE(CDSMultiFileUploadCtrl, ObjectSafety); // Add for IObjectSafety
return (HRESULT)pThis->ExternalQueryInterface( &iid, ppvObj ); // Add for IObjectSafety
} // Add for IObjectSafety
C语言入门教程,C语言学习教程(非常详细)
C语言
中
文网推出辅导班啦,包括「C语言辅导班、C++辅导班、算法/数据结构辅导班」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践 + 永久学习。QQ在线,随时响应! C语言是一门面向过程的编译型语言,它的运行速度极快,仅次于汇编语言。C语言是计算机产业的核心语言,操作系统、硬件驱动、关键组件、数据库等都离不开C语言;不学习C语言,就不能了解计算机底层。 这套「C语言入门教程」由站长亲自执笔,将多年的编程经验灌输其
中
,典型的实践派。这部教程已经发布了 5 年,经历了 5 次大
函数指针和回调函数
写法含义a是student的别名CalcFunc是的别名(即函数指针类型)→a就是student→CalcFunc就是“能指向函数”的指针类型你以后看到复杂的typedef,就用“先想变量怎么写,再把变量名换成类型名”的方法,就能轻松破解!当然可以!你上传的这份 PDF 是一个非常经典的C++ 回调函数(Callback)与函数指针的入门示例,用“计算器”来模拟大厂 SDK 封装逻辑。下面我将它完整翻译、整理并结构化,便于理解核心思想。特性说明解耦大厂逻辑 与 用户逻辑分离扩展性。
c++小项目_编程初学者的练手小项目(Python&C/C++)
老是有一些刚接触编程的小伙伴问,怎么样才能快速提高编程能力?“一切不写代码的学编程,都是瞎搞!”,想要提高编程能力,当然是写代码、写代码、写代码。在不断做项目的过程
中
,加强基础语法的熟悉程度,提高解决实际问题的能力。那么问题来了,作为一个新手小白,不知道能做些什么项目来练手呢?完全不用担心,今天给大家盘点下,实验楼优质的会员项目课。特别适合新手用于练手哦!Python 练手项目Python
实现
密...
C#
异或运算
实现
轻量级加密:原理、代码与实战应用
在计算机科学
中
,位运算是对二进制数据的基础操作,其
中
异或运算因其独特的可逆性,常被用于
实现
简单的对称加密。其原理基于二进制位的按位操作,即相同为0、相异为1,使得数据与密钥进行两次相同异或运算即可还原,这一特性构成了轻量级加密的数学基础。从技术价值看,异或加密算法
实现
简单、计算速度快、资源消耗低,适用于对性能敏感且安全性要求不高的场景。在实际工程
中
,它常用于配置文件混淆、游戏数据防篡改、通信协议校验等场景,作为快速数据保护方案。本文通过
C#
示例,详细展示了如何利用异或运算符
实现
从整数到字节数组的加密解密,并
CTF逆向工程入门:从工具环境到实战破解的完整指南
逆向工程是理解软件底层逻辑与安全脆弱性的核心技术,其原理在于通过静态与动态分析,反编译并理解无源代码程序的运行机制。这项技术的核心价值在于漏洞挖掘、恶意软件分析与安全评估,是网络安全领域的必备技能。在应用场景上,它广泛应用于CTF竞赛、软件破解与漏洞研究
中
。本文聚焦于CTF逆向工程,详细介绍了如何搭建包含IDA Pro、x64dbg等工具的分析环境,并深入剖析了汇编语言与C语言在逆向
中
的关键作用。通过实战案例,文章进一步讲解了算法逆向、代码混淆对抗及加密算法识别等核心技巧,为初学者系统掌握逆向工程提供了清晰
C#
111,129
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章