Atalhos da Internet
O objeto de atalho da Internet é usado para criar atalhos da área de trabalho para sites da Internet. Como os atalhos para itens no sistema de arquivos, os atalhos da Internet assumem a forma de um ícone na área de trabalho. Quando o usuário clica no ícone, o navegador é iniciado e exibe o site associado ao atalho.
São discutidos os seguintes tópicos.
- Criação de atalhos na Internet
- Acesso ao de armazenamento de propriedade
- Interfaces
- Funções
Criando atalhos da Internet
Você pode criar um atalho da Internet usando um controle WebBrowser ou com a URL da página.
Criando um atalho da Internet a partir de um controle WebBrowser
Se seu aplicativo hospeda um controle WebBrowser, você pode usar o objeto de atalho da Internet para criar atalhos da seguinte maneira.
- Crie uma instância do objeto de atalho da Internet com CoCreateInstance, usando um identificador de classe (CLSID) de CLSID_InternetShortcut.
- Passe o ponteiro para a interface IUnknown IUnknown do WebBrowser para o objeto de atalho da Internet com IObjectWithSite::SetSite.
- Chame o IPersistFile::Save do objeto de atalho da Internet quando quiser criar um atalho para a página que está sendo exibida pelo controle WebBrowser.
Um atalho será criado no local especificado em IPersistFile::Save. Esse local permite que o controle WebBrowser restaure seu estado, o que inclui a tarefa de carregar os documentos corretos em conjuntos de quadros.
Criando um atalho da Internet a partir de uma URL
Você também pode criar um atalho da Internet se tiver o URL da página à qual deseja vincular.
- Crie uma instância do objeto de atalho da Internet com CoCreateInstance, usando um CLSID de CLSID_InternetShortcut.
- Use o método IUniformResourceLocator::SetURL para definir a URL no atalho.
- Use o método IPersistFile::Save para salvar o arquivo de atalho em um local desejado.
Acesso ao armazenamento de propriedades
O objeto de atalho da Internet contém várias propriedades que você pode acessar por meio da interface de IPropertySetStorage do objeto com o procedimento a seguir.
- Obtenha o interface IPropertySetStorage chamando QueryInterface com IID_IPropertySetStorage.
- Acesse o conjunto de propriedades de atalho da Internet chamando IPropertySetStorage::Open com FMTID_Intshcut ou FMTID_InternetSite para obter o interface IPropertyStorage.
- Leia as informações de armazenamento de propriedade com IPropertyStorage::ReadMultiple passando o ID de propriedade apropriado.
Com versão 4.70 ou superior do Shell32.dll, você também pode recuperar a interface IPropertySetStorage chamando IShellFolder::BindToStorage com o parâmetro pidl definido como . URL e o parâmetro riid definido como IID_IPropertySetStorage.
Os seguintes IDs de propriedade podem ser solicitados para FMTID_Intshcut.
PROPID | Tipo de variante | Descrição |
---|---|---|
PID_IS_URL | VT_LPWSTR | URL para o qual o atalho leva |
PID_IS_NAME | VT_LPWSTR | Nome do atalho da Internet |
PID_IS_WORKINGDIR | VT_LPWSTR | Diretório de trabalho para o atalho |
PID_IS_HOTKEY | VT_UI2 | Tecla de atalho para o atalho |
PID_IS_SHOWCMD | VT_I4 | Mostrar comando para atalho |
PID_IS_ICONINDEX | VT_I4 | Índice do ícone |
PID_IS_ICONFILE | VT_LPWSTR | Arquivo que contém o ícone |
PID_IS_WHATSNEW | VT_LPWSTR | O que há de novo no texto |
PID_IS_AUTHOR | VT_LPWSTR | Autor |
PID_IS_DESCRIPTION | VT_LPWSTR | Descrição do texto do site |
PID_IS_COMMENT | VT_LPWSTR | Comentário anotado pelo usuário |
PID_IS_ROAMED | VT_BOOL | True quando o atalho é roamed pela primeira vez |
Os seguintes IDs de propriedade podem ser solicitados para FMTID_InternetSite.
PROPID | Tipo de variante | Descrição |
---|---|---|
PID_INTSITE_WHATSNEW | VT_LPWSTR | O que há de novo no texto |
PID_INTSITE_AUTHOR | VT_LPWSTR | Autor |
PID_INTSITE_LASTVISIT | VT_FILETIME | O site da hora foi visitado pela última vez |
PID_INTSITE_LASTMOD | VT_FILETIME | O site da hora foi modificado pela última vez |
PID_INTSITE_VISITCOUNT | VT_UI4 | Número de vezes que o utilizador visitou |
PID_INTSITE_DESCRIPTION | VT_LPWSTR | Descrição do texto do site |
PID_INTSITE_COMMENT | VT_LPWSTR | Comentário anotado pelo usuário |
PID_INTSITE_FLAGS | VT_UI4 | Indica o uso de PIDISF_ sinalizadores (veja abaixo) |
PID_INTSITE_CONTENTLEN | N/A | Não suportado atualmente |
PID_INTSITE_CONTENTCODE | N/A | Não suportado atualmente |
PID_INTSITE_RECURSE | N/A | Não suportado atualmente |
PID_INTSITE_WATCH | N/A | Não suportado atualmente |
PID_INTSITE_SUBSCRIPTION | VT_UI8 | Valor SUBSCRIPTIONCOOKIE para o gestor de subscrições |
PID_INTSITE_URL | VT_LPWSTR | URL para o qual o atalho leva |
PID_INTSITE_TITLE | VT_LPWSTR | Título |
PID_INTSITE_CODEPAGE | VT_UI4 | Página de código do documento |
PID_INTSITE_TRACKING | N/A | Não suportado atualmente |
PID_INTSITE_ICONINDEX | VT_I4 | Índice do ícone |
PID_INTSITE_ICONFILE | VT_LPWSTR | Arquivo que contém o ícone |
PID_INTSITE_ROAMED | VT_UI4 | A entrada foi adicionada devido ao roaming |
A seguir estão as bandeiras do site da Internet.
Bandeira | Descrição |
---|---|
PIDISF_RECENTLYCHANGED | Indica que um site foi alterado recentemente |
PIDISF_CACHEDSTICKY | Não suportado atualmente |
PIDISF_CACHEIMAGES | Não suportado atualmente |
PIDISF_FOLLOWALLLINKS | Não suportado atualmente |
Os valores a seguir são usados para o histórico de roaming da Internet.
Valor da PID_INTSITE_ROAMED | Descrição |
---|---|
Valor não definido ou PIDISR_UP_TO_DATE | Esta entrada de cache não foi modificada por roaming. |
PIDISR_NEEDS_ADD | Essa entrada de cache foi adicionada ao cache por roaming. Defina PIDISR_UP_TO_DATE assim que o processamento da entrada estiver concluído. |
PIDISR_NEEDS_UPDATE | Essa entrada de cache já existia na máquina local, mas foi atualizada por roaming. Defina PIDISR_UP_TO_DATE assim que o processamento da entrada estiver concluído. |
PIDISR_NEEDS_DELETE | O roaming detetou que essa entrada de cache deveria ser excluída. Por exemplo, o usuário pode ter limpo o histórico do navegador. Exclua a entrada usando DeleteUrlCacheEntry. |
Interfaces
O objeto de atalho da Internet expõe várias interfaces.
Interfaces OLE
Interfaces de shell
- IContextMenu2
- IExtractIcon
- INewShortcutHook
- IShellExtInit
- IShellLink
- IShellPropSheetExt
- IQueryInfo
Funções
Existem várias funções utilitárias que podem ser usadas com o objeto de atalho da Internet.
Funções do utilitário de atalho da Internet
- InetIsOffline
- MIMEAssociationDialog
- TraduzirURL
- URLAssociationDialog