.net 处理WindowsStateChanged-IE扩展中的选项卡更改
当在IE中切换选项卡时,我的IE扩展中要处理以下内容,等等。 [ ATL项目,VS2008,C++使用IDISPvInTimPL ] < /P>.net 处理WindowsStateChanged-IE扩展中的选项卡更改,.net,c++,internet-explorer,atl,.net,C++,Internet Explorer,Atl,当在IE中切换选项卡时,我的IE扩展中要处理以下内容,等等。 [ ATL项目,VS2008,C++使用IDISPvInTimPL ] < /P> SINK_ENTRY_EX(1, DIID_DWebBrowserEvents2, DISPID_WINDOWSTATECHANGED,WindowStateChanged) . . . void WindowStateChanged (DWORD dwFlags, DWORD dwValidFlagsMask); . . . . void C
SINK_ENTRY_EX(1, DIID_DWebBrowserEvents2, DISPID_WINDOWSTATECHANGED,WindowStateChanged)
.
.
.
void WindowStateChanged (DWORD dwFlags, DWORD dwValidFlagsMask);
.
.
.
.
void CHelloWorld::WindowStateChanged (DWORD dwFlags, DWORD dwValidFlagsMask){
//I don't do anything here right now. Even if I have some piece of code like
//ATLTRACE, IE just hangs
}
每当我运行我的代码时,IE就会停止工作。我得到一个对话框,Internet Explorer已经停止工作。我做错了什么?我的代码中可能缺少什么?
或者,这是IE8中的错误吗?我正在使用Windows7 eval顺便说一句。我真蠢。我错过了这个:STDMETHODCALLTYPE 所以我的代码是:
SINK_ENTRY_EX(1, DIID_DWebBrowserEvents2, DISPID_WINDOWSTATECHANGED,WindowStateChanged)
.
.
.
void STDMETHODCALLTYPE WindowStateChanged (DWORD dwFlags, DWORD dwValidFlagsMask);
.
.
.
.
void STDMETHODCALLTYPE CHelloWorld::WindowStateChanged (DWORD dwFlags, DWORD dwValidFlagsMask){
//I don't do anything here right now. Even if I have some piece of code like
//ATLTRACE, IE just hangs
}
现在,我不再挂了 您需要在调试器下运行代码,以确定崩溃的位置。