C#中的AtiveX怎样实现IObjectSafety接口?

Alfred 2005-12-02 02:50:30
不要给没通过实验的答案,因为网上很多文章不是错误就是写的很模糊。
...全文
1013 9 打赏 收藏 转发到动态 举报
写回复
用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

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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