如何: 指定是否要在 Outlook (Outlook 辅助参考) 中显示联系人的图片

本主题演示如何使用dispidShowSenderPhoto调度 ID 调用 Outlook资源管理器检查器对象,可以指定是否在资源管理器或检查器窗口中显示联系人的图片上的相应方法,根据布尔型参数。指定VARIANT_TRUE参数打开显示屏,和VARIANT_FALSE关闭显示。

给定一个指向Explorer或Inspector对象,可以使用IUnknown::QueryInterface方法来获取的IDispatch接口指针。在本主题中, SetSenderContactPhoto,该函数接受两个输入参数:

  • inspector— _InspectorPtr值。

  • showSenderContactPhoto— — 布尔值,该值指定是否显示联系人图片。

SetSenderContactPhoto调用IDispatch::Invoke方法 — — 作为dispIdMember参数,该参数指定dispidShowSenderPhoto和showSenderContactPhoto用于窗体中的pDispParams参数的参数 — — 若要打开或关闭显示按照showSenderContactPhoto的值。

void SetSenderContactPhoto(_InspectorPtr inspector, bool showSenderContactPhoto)
{ 
    CComVariant cv;
    IDispatchPtr spdisp;
    DISPPARAMS dispparams;
    EXCEPINFO excepinfo = {0};
    spdisp = inspector;
    cv = showSenderContactPhoto ? VARIANT_TRUE : VARIANT_FALSE;
    dispparams.rgvarg = &cv;
    dispparams.cArgs = 1;
    dispparams.rgdispidNamedArgs = NULL;
    dispparams.cNamedArgs = 0;
    spdisp->Invoke(dispidShowSenderPhoto,
        IID_NULL,
        0,
        DISPATCH_METHOD,
        &dispparams,
        NULL,
        &excepinfo,
        NULL);
}

此设置在 Outlook 会话之间不保留,不到另一个检查器或资源管理器中执行。默认设置是打开显示。这意味着,如果图片存在,它显示。但是,如果没有图片,则会显示无占位符图片。

此设置配合使用的TurnOffPhotograph策略键,以及较早的ShowContactPicture注册表项。在 Microsoft Outlook 2010,引入了TurnOffPhotograph策略注册表项并在 Microsoft Office Outlook 2007 年引入了ShowContactPicture注册表项。下表显示了这些注册表项和dispidShowSenderPhoto之间的交互方式。此设置不启动显示如果管理员策略 (TurnOffPhotograph策略密钥) 或用户首选项 (ShowContactPicture注册表项) 关闭显示器。TurnOffPhotograph策略注册表项的更多信息,请参阅如何管理 Outlook 使用组策略的社交连接器。有关ShowContactPicture注册表项的详细信息,请参阅Outlook 2007 Office 自定义工具中部署额外的注册表值

方法由dispidShowSenderPhoto参数

TurnOffPhotograph策略注册表项

ShowContactPicture注册表项

如果存在,显示图片?

True

0 或未设置

1 或未设置

True

0 或未设置

0

True

1

1 或未设置

True

1

0

False

0 或未设置

1 或未设置

False

0 或未设置

0

False

1

1 或未设置

False

1

0

另请参阅

概念

(Outlook 导出的 Api) 的常量