Função GetOpenFileNameA (commdlg.h)

[A partir do Windows Vista, as caixas de diálogo abrir e salvar como comuns foram substituídas pela caixa de diálogo Item Comum. Recomendamos que você use a API de Caixa de Diálogo de Item Comum em vez dessas caixas de diálogo da Biblioteca de Caixas de Diálogo Comuns.]

Cria uma caixa de diálogo Abrir que permite que o usuário especifique a unidade, o diretório e o nome de um arquivo ou conjunto de arquivos a serem abertos.

Sintaxe

BOOL GetOpenFileNameA(
  [in, out] LPOPENFILENAMEA unnamedParam1
);

Parâmetros

[in, out] unnamedParam1

Tipo: LPOPENFILENAME

Um ponteiro para uma estrutura OPENFILENAME que contém informações usadas para inicializar a caixa de diálogo. Quando GetOpenFileName retorna, essa estrutura contém informações sobre a seleção de arquivo do usuário.

Retornar valor

Tipo: BOOL

Se o usuário especificar um nome de arquivo e clicar no botão OK , o valor retornado não será zero. O buffer apontado pelo membro lpstrFile da estrutura OPENFILENAME contém o caminho completo e o nome do arquivo especificados pelo usuário.

Se o usuário cancelar ou fechar a caixa de diálogo Abrir ou ocorrer um erro, o valor retornado será zero. Para obter informações de erro estendidas, chame a função CommDlgExtendedError , que pode retornar um dos valores a seguir.

Comentários

A caixa de diálogo Abrir no estilo Explorer fornece recursos de interface do usuário semelhantes à Explorer do Windows. Você pode fornecer um procedimento de gancho OFNHookProc para uma caixa de diálogo Abrir no estilo Explorer. Para habilitar o procedimento de gancho, defina os sinalizadores OFN_EXPLORER e OFN_ENABLEHOOK no membro Flags da estrutura OPENFILENAME e especifique o endereço do procedimento de gancho no membro lpfnHook .

O Windows continua a dar suporte à caixa de diálogo Open de estilo antigo para aplicativos que desejam manter uma interface do usuário consistente com a interface do usuário de estilo antigo. Para exibir a caixa de diálogo Open de estilo antigo, habilite um procedimento de gancho OFNHookProcOldStyle e verifique se o sinalizador OFN_EXPLORER não está definido.

Para exibir uma caixa de diálogo que permite que o usuário selecione um diretório em vez de um arquivo, chame a função SHBrowseForFolder .

Observe que, ao selecionar vários arquivos, o limite total de caracteres para os nomes de arquivo depende da versão da função.

  • ANSI: limite de 32k
  • Unicode: sem restrição

Exemplos

Para obter um exemplo, consulte Abrindo um arquivo.

Observação

O cabeçalho commdlg.h define GetOpenFileName 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 [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 commdlg.h (inclua Windows.h)
Biblioteca Comdlg32.lib
DLL Comdlg32.dll
Conjunto de APIs ext-ms-win-shell-comdlg32-l1-1-1 (introduzido no Windows 10, versão 10.0.14393)

Confira também

Commdlgextendederror

Biblioteca de caixas de diálogo comuns

Conceitual

Getsavefilename

OFNHookProc

OFNHookProcOldStyle

OPENFILENAME

Outros recursos

Referência

SHBrowseForFolder