Windows Explorer - Abre todas as caixas de diálogo de seleção de arquivos para o último local usado GLOBALMENTE

1

Quando abro a janela do Windows Explorer a partir de dentro de uma aplicação (por exemplo, Salvar como, Abrir, etc.), ela é aberta para o último local usado por controle específico . Eu quero que ele abra para o último local que qualquer identificador usado.

Observe que isso não é o mesmo que abrir todos os diálogos para um local padrão universal.

Por exemplo, quando estou pulando entre o Adobe Photoshop, Premiere e After Effects, eu tenho que escolher arquivos para importar e exportar dentro de cada aplicativo, e cada combinação abre o Explorer para o último local que essa função específica usou. Isso significa que há NumApplications × NumDialogs que estão abrindo para o diretório anterior que usei quem sabe quando , que eu tenho que navegar manualmente para o novo diretório do projeto.

Como faço para estupidar o Windows Explorer para não reter caminhos específicos por identificador?

Atualmente, minha solução alternativa é ter uma única janela do Explorer aberta na raiz do diretório do meu projeto, continuo pegando o caminho da barra de endereços ( Alt+D , Ctrl+C ) e sempre que outro identificador é aberto, colo esse caminho. Isso ainda introduz uma troca de contexto extra para meu fluxo de trabalho em vários lugares.

    
por Elaskanator 26.09.2018 / 22:44

1 resposta

1

Eu quero abrir todas as caixas de diálogo de seleção de arquivos para o último local usado (não específico do aplicativo)

Isso não é possível, pois os aplicativos são responsáveis por definir quaisquer locais de diretório padrão em seus próprios diálogos.

Isso é feito usando a API Common Item Dialog , que foi implementado no Windows Vista e usado em todas as versões posteriores do Windows.

O Diálogo Item Comum é usado pela caixa de diálogo Abrir e pela caixa de diálogo Salvar (que compartilha a maior parte de sua funcionalidade).

A API usa IFileDialog :: SetDefaultFolder para definir o local da pasta padrão ao criar uma caixa de diálogo Abrir ou Salvar como, específica de um aplicativo específico):

The default folder is the folder in which the dialog starts the first time a user opens it from your application. After that, the dialog will open in the last folder a user opened or the last folder they used to save an item. See State Persistence for more details.

You can force the dialog to always show the same folder when it opens, regardless of previous user action, by calling IFileDialog::SetFolder. However, we do not recommended doing this. If you call SetFolder before you display the dialog box, the most recent location that the user saved to or opened from is not shown. Unless there is a very specific reason for this behavior, it is not a good or expected user experience and should be avoided. In almost all instances, IFileDialog::SetDefaultFolder is the better method.

When saving a document for the first time in the Save dialog, you should follow the same guidelines in determining the initial folder as you did in the Open dialog. If the user is editing a previously existing document, open the dialog in the folder where that document is stored, and populate the edit box with that document's name. Call IFileSaveDialog::SetSaveAsItem with the current item prior to calling Show.

Diálogo Item Comum (Windows) . p>

Portanto, é responsabilidade de cada aplicativo individual decidir como eles lidarão com o conjunto de diretórios padrão ao abrir esses diálogos.

    
por 27.09.2018 / 21:31