Função SHGetNewLinkInfoW (shellapi.h)
Cria um nome para um novo atalho com base no destino proposto pelo atalho. Essa função não cria o atalho, apenas o nome.
Sintaxe
BOOL SHGetNewLinkInfoW(
[in] LPCWSTR pszLinkTo,
[in] LPCWSTR pszDir,
[out] LPWSTR pszName,
[out] BOOL *pfMustCopy,
[in] UINT uFlags
);
Parâmetros
[in] pszLinkTo
Tipo: LPCTSTR
Um ponteiro para o caminho e o nome do arquivo do destino do atalho. Se uFlags não contiver o valor SHGNLI_PIDL , esse parâmetro será o endereço de uma cadeia de caracteres terminada em nulo que contém o destino. Se uFlags contiver o valor SHGNLI_PIDL , esse parâmetro será um PIDL que representa o destino.
[in] pszDir
Tipo: LPCTSTR
Um ponteiro para uma cadeia de caracteres terminada em nulo que contém o caminho da pasta na qual o atalho seria criado.
[out] pszName
Tipo: LPTSTR
Um ponteiro para uma cadeia de caracteres que recebe o caminho terminado em nulo e o nome do arquivo para o atalho. Supõe-se que esse buffer tenha pelo menos MAX_PATH caracteres de tamanho.
[out] pfMustCopy
Tipo: BOOL*
O endereço de um valor BOOL que recebe um sinalizador que indica se o atalho seria copiado. Quando um atalho para outro atalho é criado, o Shell simplesmente copia o atalho de destino e modifica o atalho copiado adequadamente. Esse parâmetro receberá um valor diferente de zero se o destino especificado em pszLinkTo especificar um atalho que fará com que o atalho de destino seja copiado. Esse parâmetro receberá zero se o destino não especificar um atalho que seria copiado.
[in] uFlags
Tipo: UINT
As opções para a função. Isso pode ser zero ou uma combinação dos valores a seguir.
SHGNLI_PIDL (0x000000001)
0x000000001. O destino apontado por pszLinkTo é um PIDL que representa o destino. Se esse sinalizador não estiver incluído, pszLinkTo será considerado como o endereço de uma cadeia de caracteres que contém o caminho e o nome do arquivo do destino.
SHGNLI_NOUNIQUE (0x000000002)
0x000000002. Ignore as verificações normais que garantem que o nome do atalho seja exclusivo dentro da pasta de destino. Se esse sinalizador não estiver incluído, a função criará o nome do atalho e determinará se o nome é exclusivo na pasta de destino. Se um arquivo com o mesmo nome já existir na pasta de destino, o nome do atalho será modificado. Esse processo é repetido até que um nome exclusivo seja encontrado.
SHGNLI_PREFIXNAME (0x000000004)
0x000000004. O nome criado será precedido pela cadeia de caracteres "Atalho para ".
SHGNLI_NOLNK (0x000000008)
0x000000008. Versão 5.0 Não adicione a extensão de nome de arquivo .lnk. Você deve definir a macro _WIN32_IE como 5.01 ou superior para usar esse sinalizador. Para obter mais informações sobre controle de versão, consulte Shell e Versões de controles comuns.
SHGNLI_NOLOCNAME (0x000000010)
0x000000010. Windows Vista e posterior. Use o nome de análise não localizado do destino apontado por pszLinkTo como o nome do arquivo de atalho. Se esse sinalizador não estiver definido, o nome localizado será usado.
SHGNLI_USEURLEXT (0x000000020)
0x000000020. Windows 7 e posterior. Acrescente uma extensão de nome de arquivo .url (em vez de .lnk) ao nome apontado por pszName. Se esse sinalizador não estiver definido, o nome do atalho usará uma extensão de .lnk, a menos que SHGNLI_NOLNK esteja definido.
Retornar valor
Tipo: BOOL
Retorna TRUE se tiver êxito; caso contrário, FALSE.
Comentários
SHGetNewLinkInfo determina se o sistema de arquivos de destino dá suporte a nomes de arquivo longos. Se isso acontecer, um nome de arquivo longo será usado para o nome do atalho. Se o sistema de arquivos de destino não der suporte a nomes de arquivo longos, o nome do atalho será retornado em um formato 8.3.
Observação
O cabeçalho shellapi.h define SHGetNewLinkInfo como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional, Windows XP, Windows 7 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | shellapi.h |
Biblioteca | Shell32.lib |
DLL | Shell32.dll (versão 4.71 ou posterior) |