在 C++ 中,CMailItem::Display(VARIANT &Modal) 它正在寻找的 VARIANT 变量是什么?

In C++, CMailItem::Display(VARIANT &Modal) what is the VARIANT variable it is looking for?

我正在编写一个程序,该程序将预先填写要发送的包含数据的电子邮件。但是,我想在实际发送之前向用户显示电子邮件。 C++ 的 MailItem class 中包含的显示方法需要一个 VARIANT 变量。我对 C++ 比较陌生,所以我以前从未处理过 VARIANT 变量。从我的研究中,我发现 this 这解释了变体是什么。

当我声明一个变体并将其用于参数时,我只是收到错误 "Bad variable type." 我使用的代码如下。我知道那是行不通的,但老实说,我不知道要用什么填充变体才能让它工作。 The site for the MailItem class 表示不需要 variant 变量,但没有它我的代码将无法编译。该站点似乎适用于 Visual Basic,这对我在 C++ 中的工作没有帮助。

    VARIANT modal;
    olMailItem.Display(modal);

你们有没有这方面的经验,可以指出正确的方向?我很感激。

只是猜测,声明要传递的变量,如下所示:

_variant_t modal(VARIANT_TRUE);// probably looking for a VARIANT_BOOL

猜得不错!我测试了上面反应中的答案,确实是正确的! “_variant_t 模态(VARIANT_TRUE);”

您可以将其与我使用过的工作示例结合使用:在 Visual Studio 中使用 C++ 自动化 Outlook。 https://support.microsoft.com/en-us/kb/2575036

…
_variant_t modal(VARIANT_TRUE); 
yourCMailItem.Display(modal); // The e-mail appears
…