OPENASINFO 结构 (shlobj_core.h)

存储 SHOpenWithDialog 函数的信息。

语法

typedef struct _openasinfo {
  LPCWSTR            pcszFile;
  LPCWSTR            pcszClass;
  OPEN_AS_INFO_FLAGS oaifInFlags;
} OPENASINFO, *POPENASINFO;

成员

pcszFile

类型: LPCWSTR

指向文件名的指针。

pcszClass

类型: LPCWSTR

指向文件类型说明的指针。 将此参数设置为 NULL 以使用 pcszFile 的文件扩展名。

oaifInFlags

类型: OPEN_AS_INFO_FLAGS

SHOpenWithDialog 对话框的特征。 以下一个或多个值。

OAIF_ALLOW_REGISTRATION (0x00000001)

启用“始终使用此程序”复选框。 如果未通过,它将被禁用。

OAIF_REGISTER_EXT (0x00000002)

在用户点击“ 确定 ”按钮后进行注册。

OAIF_EXEC (0x00000004)

注册后执行文件。

OAIF_FORCE_REGISTRATION (0x00000008)

强制选中“ 始终使用此程序 ”复选框。 传递此值时,通常不会使用 OAIF_ALLOW_REGISTRATION 标志。

OAIF_HIDE_REGISTRATION (0x00000020)

在 Windows Vista 中引入。 隐藏“ 始终使用此程序 ”复选框。 如果指定了此标志,则将忽略OAIF_ALLOW_REGISTRATION和OAIF_FORCE_REGISTRATION标志。

OAIF_URL_PROTOCOL (0x00000040)

在 Windows Vista 中引入。 传递的扩展的值实际上是一个协议,因此“ 打开方式 ”对话框应显示注册为能够处理该协议的应用程序。

OAIF_FILE_IS_URI (0x00000080)

在 Windows 8 中引入pcszFile 参数指向的位置以 URI 的形式提供。

注解

从 Windows 10 开始,SHOpenWithDialog 将忽略OAIF_ALLOW_REGISTRATIONOAIF_FORCE_REGISTRATION和OAIF_HIDE_REGISTRATION标志。 “打开方式”对话框不能再用于更改用于打开文件扩展名的默认程序。 只能使用 SHOpenWithDialog 打开单个文件。

要求

   
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
标头 shlobj_core.h (包括 Shlobj.h)