能力值:
( LV2,RANK:10 )
|
-
-
2 楼
求助啊,自己顶一下!!!!
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
不同于以往的平台,vista 等上使用 IFileDialog 选择的文件
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
那怎么hook啊。。。。
求教!!!!!!
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
detour帮助文档中有hook Com接口的例子,如果实在不懂com,其实他的函数地址记录在一个虚表里(++的虚函数),调试下,替换这个地址
|
能力值:
( LV3,RANK:30 )
|
-
-
6 楼
if (m_bVistaStyle == TRUE)
{
ApplyOFNToShellDialog();
HRESULT hr = (static_cast<IFileDialog*>(m_pIFileDialog))->Show(m_ofn.hwndOwner);
nResult = (hr == S_OK) ? IDOK : IDCANCEL;
}
else if (m_bOpenFileDialog)
nResult = ::AfxCtxGetOpenFileName(&m_ofn);
else
nResult = ::AfxCtxGetSaveFileName(&m_ofn);
LS->LS 说的对,你跟下那个IFileDialog COM 看看。
最后是通过这个COM获得路径的。直接HOOK这个就行了。
IShellItem *psiResult;
HRESULT hr = (static_cast<IFileDialog*>(m_pIFileDialog))->GetResult(&psiResult);
if (SUCCEEDED(hr))
{
LPWSTR wcPathName = NULL;
hr = psiResult->GetDisplayName(SIGDN_FILESYSPATH, &wcPathName);
}
|
|
|