activex控件开发时如何用ie8进行调试

这阵子在搞一个activex的项目,发现dll型的输出控件比较难调试,导致我郁闷了几天了,调试不进去的话就定位不到错误,后面的工作就受阻了。试了好多种方法都不行,原来是不了解ie所致的。好像自从4.0以后,ie在我们打开一个网页时,会启动一个主的进程,和一个副进程,ie的调试器只touch到副进程是不行的,还得touch到主进程才可以。这个我也不确定是否正确,不过要使vs调试到activex工程里面去的话,我们还得按照下面的方法做。

第一步:选择activex项目,打开项目属性,在“configuration properties”-> “debugging”中的command 中选择ie浏览器所在位置,一般是C:/Program Files/Internet Explorer/iexplore.exe;在下面的command arguments里面输入你写的html测试页面。
第二步:选择菜单中的“debug“->”start debugging“,或者直接F5;这样调试就开始了,但是我们光这样的话我们调试不进去,我们还需要做下面关键的一步。
第三步:选择菜单中的”debug“->”attacch to process“,在下面的”available processes“中,你可以看到一个ieexplore的进程已被选中,但是还有一个ieexplore进程未被选中,我们选择未被选择ieexplore进程,然后选择”attach“将该进程附加到调试器上,这样我们就能调试activex内部的代码了。


至于如何调试,很简单,在你想要调试的代码前打上断点就可以了。

 

 

 

ATL 无窗口 ActiveX 控件中,得到容器窗口句柄的方法
2010-11-03 19:31
CComPtr < IOleClientSite > spClientSite;
GetClientSite( &spClientSite );
CComQIPtr < IOleInPlaceSite > spSite = spClientSite;

HWND hwnd;
spSite->GetWindow( &hwnd );

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值