Internet 快捷方式
Internet 快捷方式对象用于创建 Internet 网站的桌面快捷方式。 与文件系统中项的快捷方式一样,Internet 快捷方式采用桌面图标的形式。 当用户单击图标时,浏览器将启动并显示与快捷方式关联的网站。
将讨论以下主题。
创建 Internet 快捷方式
可以使用 WebBrowser 控件或页面的 URL 创建 Internet 快捷方式。
从 WebBrowser 控件创建 Internet 快捷方式
如果应用程序托管 WebBrowser 控件,则可以使用 Internet 快捷方式对象按以下方式创建快捷方式。
- 使用CLSID_InternetShortcut的 CLSID) 类标识符 (CoCreateInstance 创建 Internet 快捷方式对象的实例。
- 将指向 WebBrowser 的 IUnknown 接口的指针传递给具有 IObjectWithSite::SetSite 的 Internet 快捷方式对象。
- 如果要创建 WebBrowser 控件正在查看的页面的快捷方式,请调用 Internet 快捷方式对象的 IPersistFile::Save 方法。
将在 IPersistFile::Save 中指定的位置创建快捷方式。 此位置使 WebBrowser 控件能够还原其状态,其中包括将正确的文档加载到框架集的任务。
从 URL 创建 Internet 快捷方式
如果具有要链接到的页面的 URL,还可以创建 Internet 快捷方式。
- 使用 clSID CLSID_InternetShortcut 创建具有 CoCreateInstance 的 Internet 快捷方式对象的实例。
- 使用 IUniformResourceLocator::SetURL 方法在快捷方式中设置 URL。
- 使用 IPersistFile::Save 方法将快捷方式文件保存到所需位置。
访问属性存储
Internet 快捷方式对象包含几个属性,可使用以下过程通过对象的 IPropertySetStorage 接口访问这些属性。
- 使用 IID_IPropertySetStorage调用 QueryInterface 来获取 IPropertySetStorage 接口。
- 使用 FMTID_Intshcut 或 FMTID_InternetSite 调用 IPropertySetStorage::Open 来访问 Internet 快捷方式属性存储集,以获取 IPropertyStorage 接口。
- 通过传递相应的属性 ID,使用 IPropertyStorage::ReadMultiple 读取属性存储信息。
使用 4.70 或更高版本的 Shell32.dll,还可以通过将 pidl 参数设置为 来调用 IShellFolder::BindToStorage 来检索 IPropertySetStorage 接口。URL 文件和 riid 参数设置为 IID_IPropertySetStorage。
可以为FMTID_Intshcut请求以下属性 ID。
PROPID | 变体类型 | 说明 |
---|---|---|
PID_IS_URL | VT_LPWSTR | 快捷方式指向的 URL |
PID_IS_NAME | VT_LPWSTR | Internet 快捷方式的名称 |
PID_IS_WORKINGDIR | VT_LPWSTR | 快捷方式的工作目录 |
PID_IS_HOTKEY | VT_UI2 | 快捷方式的热键 |
PID_IS_SHOWCMD | VT_I4 | 显示快捷方式的命令 |
PID_IS_ICONINDEX | VT_I4 | 图标的索引 |
PID_IS_ICONFILE | VT_LPWSTR | 包含图标的文件 |
PID_IS_WHATSNEW | VT_LPWSTR | 新增功能文本 |
PID_IS_AUTHOR | VT_LPWSTR | 作者 |
PID_IS_DESCRIPTION | VT_LPWSTR | 网站的说明文本 |
PID_IS_COMMENT | VT_LPWSTR | 用户批注的注释 |
PID_IS_ROAMED | VT_BOOL | 首次漫游快捷方式时为 True |
可以为FMTID_InternetSite请求以下属性 ID。
PROPID | 变体类型 | 说明 |
---|---|---|
PID_INTSITE_WHATSNEW | VT_LPWSTR | 新增功能文本 |
PID_INTSITE_AUTHOR | VT_LPWSTR | 作者 |
PID_INTSITE_LASTVISIT | VT_FILETIME | 上次访问站点的时间 |
PID_INTSITE_LASTMOD | VT_FILETIME | 上次修改网站的时间 |
PID_INTSITE_VISITCOUNT | VT_UI4 | 用户访问的次数 |
PID_INTSITE_DESCRIPTION | VT_LPWSTR | 网站的说明文本 |
PID_INTSITE_COMMENT | VT_LPWSTR | 用户批注注释 |
PID_INTSITE_FLAGS | VT_UI4 | 指示使用PIDISF_标志 (如下) |
PID_INTSITE_CONTENTLEN | 空值 | 目前不支持 |
PID_INTSITE_CONTENTCODE | 空值 | 目前不支持 |
PID_INTSITE_RECURSE | 空值 | 目前不支持 |
PID_INTSITE_WATCH | 空值 | 目前不支持 |
PID_INTSITE_SUBSCRIPTION | VT_UI8 | 订阅管理器的 SUBSCRIPTIONCOOKIE 值 |
PID_INTSITE_URL | VT_LPWSTR | 快捷方式指向的 URL |
PID_INTSITE_TITLE | VT_LPWSTR | 标题 |
PID_INTSITE_CODEPAGE | VT_UI4 | 文档的代码页 |
PID_INTSITE_TRACKING | 空值 | 目前不支持 |
PID_INTSITE_ICONINDEX | VT_I4 | 图标的索引 |
PID_INTSITE_ICONFILE | VT_LPWSTR | 包含图标的文件 |
PID_INTSITE_ROAMED | VT_UI4 | 条目因漫游而添加 |
下面是 Internet 站点标志。
标志 | 描述 |
---|---|
PIDISF_RECENTLYCHANGED | 指示最近更改了网站 |
PIDISF_CACHEDSTICKY | 目前不支持 |
PIDISF_CACHEIMAGES | 目前不支持 |
PIDISF_FOLLOWALLLINKS | 目前不支持 |
以下值用于 Internet 漫游历史记录。
PID_INTSITE_ROAMED 的值 | 说明 |
---|---|
值未设置或PIDISR_UP_TO_DATE | 此缓存项尚未通过漫游进行修改。 |
PIDISR_NEEDS_ADD | 此缓存项是通过漫游添加到缓存的。 在条目的处理完成后设置PIDISR_UP_TO_DATE。 |
PIDISR_NEEDS_UPDATE | 此缓存条目已存在于本地计算机上,但它是通过漫游进行更新的。 在条目的处理完成后设置PIDISR_UP_TO_DATE。 |
PIDISR_NEEDS_DELETE | 漫游检测到应删除此缓存条目。 例如,用户可能已清除其浏览器历史记录。 使用 DeleteUrlCacheEntry 删除条目。 |
接口
Internet 快捷方式对象公开了许多接口。
OLE 接口
Shell 接口
函数
有几个实用工具函数可与 Internet 快捷方式对象一起使用。
Internet 快捷方式实用工具函数