Alguma alternativa ao SHGetKnownFolderPath com token de usuário para Windows XP?
-
21-12-2019 - |
Pergunta
Meu software ainda é necessário para oferecer suporte ao Windows XP.Nele eu estou ligando SHGetKnownFolderPath API do serviço do Windows para obter caminhos específicos do usuário (como FOLDERID_Desktop
) por hToken
.Como essa API não é compatível com XP, estou curioso para saber se existe alguma maneira alternativa de fazer isso nesse sistema operacional.
Solução
A função adequada a ser usada seria SHGetFolderLocation, passando também NULL
ou -1
como o token de acesso:
hToken [no]
Tipo:LIDAR
Um token de acesso que pode ser usado para representar um usuário específico.Geralmente é definido como NULL, mas pode ser necessário quando houver vários usuários para as pastas que são tratadas como pertencentes a um usuário único.A pasta mais usada desse tipo é My Documentos.O aplicativo de chamada é responsável por corrigir representação quando hToken é não-NULL.Deve ter privilégios de segurança para o usuário específico e o registro do usuário A colmeia deve estar montada no momento.Consulte Controle de acesso para saber mais discussão de questões de controle de acesso.
Atribuir ao parâmetro hToken um valor -1 indica o usuário padrão.Isso permite que os clientes do ShgetFolderLocation encontrem locais de pastas (como a pasta da área de trabalho) para o usuário padrão.O O perfil de usuário padrão é duplicado quando qualquer nova conta de usuário é criado e inclui pastas especiais, como Meus Documentos e Área de trabalho.Todos os itens adicionados à pasta Usuário Padrão também aparecem em qualquer nova conta de usuário.