c++ - 将整数分配给变体

标签 c++ winapi variant

我想将 Flag 设置为 navOpenInBackgroundTab of BrowserNavConstants enum很快将作为参数传递给 IWebBrowser2::Navigate2 Method .

IWebBrowser2::Navigate2 的签名:-

HRESULT Navigate2(
    VARIANT *URL,
    VARIANT *Flags,
    VARIANT *TargetFrameName,
    VARIANT *PostData,
    VARIANT *Headers
);

这是我遇到的问题:-

VARIANT SITE={0}, vFlags = {0},vTargetFrameName = {0},vPostData = {0},vHeaders = {0};
...
...
vFlags.intVal=navOpenInBackgroundTab;//<--Here,Don't know how to do it.Not Working..

m_spWebBrowser->Navigate2(&SITE, &vFlags,&vTargetFrameName, &vPostData, &vHeaders);

非常感谢您的支持。

最佳答案

使用InitVariantFromInt32 :-

HRESULT hr = InitVariantFromInt32(navOpenInBackgroundTab, &vFlags);

您也可以使用(来 self 的旧代码库:)):-

V_VT(&vFlags) = VT_I4;
V_I4(&vFlags) = navOpenInBackgroundTab; 

关于c++ - 将整数分配给变体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12287583/

相关文章:

C++创建一个类型为抽象类的对象

c++ - 使用 ofstream 写入文本文件时断言失败

winapi - 了解 : conversion from long_ptr to bool possible loss of data

c++ - WaitForSingleObject 与互锁*

c++ - 如何将 _variant_t 数据类型转换为 wstring

c++ - 当调用包含 SAFEARRAY 的 VARIANT 时,VariantClear() 会抛出异常

c++ - 未定义 对 "_ZNSt5__padIcSt11char_traitsIcEE6_S_padERSt8ios_basecPcPKcllb"符号的引用未从 libstdc++.a(libstdc++.so.6) 导出

c++ - 在另一个类中使用一个类的静态对象

visual-studio-2008 - 使用 VC++ 2008 为 XP 构建屏幕保护程序

c++ - 如何清理 _variant_t