Qual é o caminho da pasta "Meu Computador" no windows?
estou a trabalhar num projecto de windowsform C++, usando IDE visual Studio.
Eu uso a classe CFileDialog
para pedir ao utilizador para seleccionar um ficheiro a abrir.
Ele mostra uma janela de seleção de arquivos aberta usual.
Eu gostaria que a pasta padrão exibida fosse a mesma que a acessada quando clicada em "Meu Computador", onde os discos rígidos, drives USB, unidades de dvd etc. são exibidos.
Posso definir a pasta por omissão se escrever a sua localização para o MembrolpstrInitialDir
, mas não encontro a localização para tal pasta. Tentei"\", "explorer".exe","", nenhum deles me deu o resultado esperado.
A aplicação será usada por vários usuários, de modo que a solução não deve incluir o nome de usuário no caminho. I. E. "C:\Documents e Configuração [utilizador]\Desktop\O Meu Computador" Pode funcionar mas não está correcto para a minha aplicação.
alguém sabe de definir o caminho "root" das janelas (I. E. A raiz de c:\) ?
Procurei na internet, mas talvez tenha usado palavras-chave erradas porque não achei apropriado. conteudo.2 answers
My Computer
é uma pasta de consola virtual que não corresponde a qualquer diretório de Sistema de arquivos. Não há nenhuma localização do sistema de ficheiros que corresponda a essa localização.
Felizmente, as janelas de ficheiros falam "shellese", por isso poderá usar o CLSID (não confundir com a pasta GUID KNOWNFOLDERID ou o CSid) da pasta shell. Amostra em formulários C#, mas realmente, a única parte importante é a ::CLSID
):
var ofd = new OpenFileDialog();
ofd.InitialDirectory = "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}";
ofd.ShowDialog();
Declaração de exoneração de Responsabilidade: não encontrei qualquer documentação relevante para a pasta virtual CLSID, ou este comportamento da janela de Ficheiros. Portanto, isso provavelmente não é contratual, e poderia possivelmente mudar em versões futuras do Windows.
O caminho deve ser: C:\Users\UserName\Desktop\Computer.lnk