有一個名爲這是在<shlobj.h>
聲明SHCreateShellItem
的功能,但它一直#ifdef
「立足與否_WIN32_IE
大於或等於0x601
(如果是D OUT ,那麼聲明就存在了)。但是,即使在包含<shlobj.h>
之前定義_WIN32_IE
至0x601
,MSVC++仍然抱怨SHCreateShellItem
未聲明。嘗試使用SHCreateShellItem,有問題的#include
例如,我不能得到以下編譯:
#define _WIN32_IE 0x601
#include <shlobj.h>
int someFunction (LPITEMIDLIST parent, LPITEMIDLIST child)
{
HRESULT result;
IShellItem *shellObj;
result = SHCreateShellItem (parent, NULL, child, &shellObj);
if (SUCCEEDED(result))
{
// do stuff
}
return SUCCEEDED(result);
}
我需要以不同的方式來定義_WIN32_IE
?
FWIW:這爲我編譯。 – Thomas 2010-03-29 07:57:00
@Thomas:即使乾淨了,我仍然無法使用它。 – dreamlax 2010-03-29 07:58:23
也完全適合我... – 2010-03-29 08:57:51