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