能力值:
( LV2,RANK:10 )
|
-
-
2 楼
MS的方法得不到SessionId的,不过PHP网站就无所谓了
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
bho, IHTMLDocument2.get_cookie
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
不用 bho 也可以,首先要拿到IWebBrowser接口。。有很多方法可以通过ie窗口句柄取得找个接口
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
有没有哪里有这样的 VC++ 的代码或者文章?
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
// by sojoo
#define UNICODE
#define _UNICODE
#include <tchar.h>
#include <stdio.h>
#include <Windows.h>
#include <mshtml.h>
#include <ExDisp.h>
int main(int argc, char* argv[])
{
HRESULT hr;
CoInitialize(NULL);
IShellWindows * lpShellWindows;
hr = CoCreateInstance(CLSID_ShellWindows, NULL, 1, IID_IShellWindows, (PVOID*)&lpShellWindows);
if ( hr == S_OK )
{
IDispatch* lpDispatch;
long nCount;
lpShellWindows->get_Count(&nCount);
for ( long i = 0; i < nCount; i++ )
{
VARIANT varIndex;
varIndex.vt = VT_I4;
varIndex.intVal = i;
hr = lpShellWindows->Item(varIndex, &lpDispatch);
if ( hr == S_OK )
{
IWebBrowser2* lpWebBrowser2;
hr = lpDispatch->QueryInterface(IID_IWebBrowser2, (PVOID*)&lpWebBrowser2);
if ( hr == S_OK )
{
IDispatch* lpDispatch;
// lpWebBrowser2->get_HWND();
hr = lpWebBrowser2->get_Document(&lpDispatch);
if ( hr == S_OK )
{
IHTMLDocument2* lpDocument2;
hr = lpDispatch->QueryInterface(IID_IHTMLDocument2, (PVOID*)&lpDocument2);
if ( hr == S_OK )
{
BSTR bstrCookie;
hr = lpDocument2->get_cookie(&bstrCookie);
if ( hr == S_OK )
{
MessageBox(NULL, bstrCookie, NULL, 0);
SysFreeString(bstrCookie);
}
lpDocument2->Release();
}
lpDispatch->Release();
}
lpWebBrowser2->Release();
}
lpDispatch->Release();
}
}
lpShellWindows->Release();
}
CoUninitialize();
return 0;
}
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
上面的代码是获取所有打开的 ie 窗口的 cookie
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
感谢 sojoo
现在发现, IHTMLDocument2 是相当的厉害啊,
不过.为什么
IHTMLDocument2 里面的数据类型都那么怪呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
ie com: IHTMLWindow -> IHTMLDocument -> xx
js dom: window.document.xx
|
能力值:
( LV3,RANK:30 )
|
-
-
10 楼
BHO 首先得到IE的连接点,然后得到事件,最后。。。。。。。
|
|
|