由于IE 9.0.2 update我的插件不起作用。我需要获取用户cookie才能正确处理与用户相关的操作。
#include <windows.h>
#include <wininet.h>
void MyClass::Exec(String^ a, String^ b) {
HANDLE hCacheDir;
DWORD size = 4096;
INTERNET_CACHE_ENTRY_INFO entry;
entry.dwStructSize = size;
hCacheDir = FindFirstUrlCacheEntry(L"cookie:my.domain.com", &entry, &size);
if (hCacheDir) {
String^ file = gcnew String(entry.lpszLocalFileName);
...
}
}
当我尝试编译此C ++ / CLI代码时,它会抛出编译错误:
错误1错误LNK2028:未解析的令牌(0A00002E)“extern”C“void * __stdcall FindFirstUrlCacheEntryW(wchar_t const *,struct _INTERNET_CACHE_ENTRY_INFOW *,unsigned long *)“(?FindFirstUrlCacheEntryW @@ $$ J212YGPAXPB_WPAU_INTERNET_CACHE_ENTRY_INFOW @@ PAK @ Z) 在函数“public:static void __clrcall中引用 MyClass :: Exec(类System :: String ^,类System :: String ^)“ (?Exec的@ @@ Degoli $$ FSMXP $ AAVString @ @@系统0 @ Z)
我对C ++的东西不太熟悉。我更喜欢C#。我该怎么办?
答案 0 :(得分:2)
您需要确保链接到相应的lib文件。
将Wininet.lib添加到项目属性中|链接器|输入|附加依赖