Partilhar via


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.

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.

  1. Crie uma instância do objeto de atalho da Internet com CoCreateInstance, usando um identificador de classe (CLSID) de CLSID_InternetShortcut.
  2. Passe o ponteiro para a interface IUnknown IUnknown do WebBrowser para o objeto de atalho da Internet com IObjectWithSite::SetSite.
  3. 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.

  1. Crie uma instância do objeto de atalho da Internet com CoCreateInstance, usando um CLSID de CLSID_InternetShortcut.
  2. Use o método IUniformResourceLocator::SetURL para definir a URL no atalho.
  3. 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.

  1. Obtenha o interface IPropertySetStorage chamando QueryInterface com IID_IPropertySetStorage.
  2. Acesse o conjunto de propriedades de atalho da Internet chamando IPropertySetStorage::Open com FMTID_Intshcut ou FMTID_InternetSite para obter o interface IPropertyStorage.
  3. 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

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