Compartilhar via


Atalhos da Internet

O objeto de atalho da Internet é usado para criar atalhos de área de trabalho para sites da Internet. Como 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.

Os tópicos a seguir são discutidos.

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 de Internet de um controle WebBrowser

Se o aplicativo hospedar um controle WebBrowser, você poderá usar o objeto de atalho da Internet para criar atalhos da maneira a seguir.

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

Acessando o Armazenamento de Propriedades

O objeto de atalho da Internet contém várias propriedades que você pode acessar por meio da interface IPropertySetStorage do objeto com o procedimento a seguir.

  1. Obtenha a interface IPropertySetStorage chamando QueryInterface com IID_IPropertySetStorage.
  2. Acesse o conjunto de armazenamento de propriedades de atalho da Internet chamando IPropertySetStorage::Open com FMTID_Intshcut ou FMTID_InternetSite para obter a interface IPropertyStorage .
  3. Leia as informações de armazenamento de propriedades com IPropertyStorage::ReadMultiple passando a ID de propriedade apropriada.

Com a versão 4.70 ou superior de Shell32.dll, você também pode recuperar a interface IPropertySetStorage chamando IShellFolder::BindToStorage com o parâmetro pidl definido como . O arquivo de URL e o parâmetro riid definidos como IID_IPropertySetStorage.

As IDs de propriedade a seguir podem ser solicitadas para FMTID_Intshcut.

PROPID Tipo variant Descrição
PID_IS_URL VT_LPWSTR URL para a 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 Texto novidades
PID_IS_AUTHOR VT_LPWSTR Autor
PID_IS_DESCRIPTION VT_LPWSTR Texto de descrição do site
PID_IS_COMMENT VT_LPWSTR Comentário anotado pelo usuário
PID_IS_ROAMED VT_BOOL True quando o atalho é movido pela primeira vez

 

As IDs de propriedade a seguir podem ser solicitadas para FMTID_InternetSite.

PROPID Tipo variant Descrição
PID_INTSITE_WHATSNEW VT_LPWSTR Texto novidades
PID_INTSITE_AUTHOR VT_LPWSTR Autor
PID_INTSITE_LASTVISIT VT_FILETIME Hora em que o site foi visitado pela última vez
PID_INTSITE_LASTMOD VT_FILETIME O site de hora foi modificado pela última vez
PID_INTSITE_VISITCOUNT VT_UI4 Número de vezes que o usuário visitou
PID_INTSITE_DESCRIPTION VT_LPWSTR Texto de descrição do site
PID_INTSITE_COMMENT VT_LPWSTR Comentário anotado pelo usuário
PID_INTSITE_FLAGS VT_UI4 Indica o uso de sinalizadores de PIDISF_ (veja abaixo)
PID_INTSITE_CONTENTLEN N/D Sem suporte no momento
PID_INTSITE_CONTENTCODE N/D Sem suporte no momento
PID_INTSITE_RECURSE N/D Sem suporte no momento
PID_INTSITE_WATCH N/D Sem suporte no momento
PID_INTSITE_SUBSCRIPTION VT_UI8 Valor SUBSCRIPTIONCOOKIE para o gerenciador de assinaturas
PID_INTSITE_URL VT_LPWSTR URL para a 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/D Sem suporte no momento
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

 

Veja a seguir os sinalizadores do site da Internet.

Sinalizador Descrição
PIDISF_RECENTLYCHANGED Indica que um site foi alterado recentemente
PIDISF_CACHEDSTICKY Sem suporte no momento
PIDISF_CACHEIMAGES Sem suporte no momento
PIDISF_FOLLOWALLLINKS Sem suporte no momento

 

Os valores a seguir são usados para o histórico de roaming da Internet.

Valor de PID_INTSITE_ROAMED Descrição
Valor não definido ou PIDISR_UP_TO_DATE Essa 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 depois que o processamento da entrada for concluído.
PIDISR_NEEDS_UPDATE Essa entrada de cache já existia no computador local, mas foi atualizada por roaming. Defina PIDISR_UP_TO_DATE depois que o processamento da entrada for concluído.
PIDISR_NEEDS_DELETE O roaming detectou que essa entrada de cache deve ser excluída. Por exemplo, o usuário pode ter limpado 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 do Shell

Funções

Há várias funções de utilitário que podem ser usadas com o objeto de atalho da Internet.

Funções do utilitário de atalho da Internet