Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Ajuda na análise da linha de comando na inicialização do aplicativo.
Sintaxe
class CCommandLineInfo : public CObject
Membros
Construtores Públicos
| Nome | Descrição |
|---|---|
CCommandLineInfo::CCommandLineInfo |
Constrói um objeto padrão CCommandLineInfo . |
Métodos Públicos
| Nome | Descrição |
|---|---|
CCommandLineInfo::ParseParam |
Substitua esse retorno de chamada para analisar parâmetros individuais. |
Membros de Dados Públicos
| Nome | Descrição |
|---|---|
CCommandLineInfo::m_bRunAutomated |
Indica que a opção de linha /Automation de comando foi encontrada. |
CCommandLineInfo::m_bRunEmbedded |
Indica que a opção de linha /Embedding de comando foi encontrada. |
CCommandLineInfo::m_bShowSplash |
Indica se uma tela inicial deve ser mostrada. |
CCommandLineInfo::m_nShellCommand |
Indica o comando shell a ser processado. |
CCommandLineInfo::m_strDriverName |
Indica o nome do driver se o comando shell for Imprimir em; caso contrário, vazio. |
CCommandLineInfo::m_strFileName |
Indica o nome do arquivo a ser aberto ou impresso; vazio se o comando shell for Novo ou DDE. |
CCommandLineInfo::m_strPortName |
Indica o nome da porta se o comando shell for Imprimir em; caso contrário, vazio. |
CCommandLineInfo::m_strPrinterName |
Indica o nome da impressora se o comando shell for Imprimir em; caso contrário, vazio. |
CCommandLineInfo::m_strRestartIdentifier |
Indica o identificador de reinicialização exclusivo para o gerenciador de reinicialização se o gerenciador de reinicialização reiniciou o aplicativo. |
Observações
Um aplicativo MFC normalmente criará uma instância local dessa classe na InitInstance função de seu objeto de aplicativo. Este objeto é então passado para CWinApp::ParseCommandLine, que repetidamente chama ParseParam para preencher o CCommandLineInfo objeto. O CCommandLineInfo objeto é então passado para CWinApp::ProcessShellCommand para manipular os argumentos de linha de comando e sinalizadores.
Você pode usar esse objeto para encapsular as seguintes opções e parâmetros de linha de comando:
| Argumento de linha de comando | Comando executado |
|---|---|
| aplicativo | Novo ficheiro. |
| nome do ficheiro da aplicação | Abra o arquivo. |
aplicativo/p nome do ficheiro |
Imprima o arquivo na impressora padrão. |
aplicativo/pt porta do driver de impressora do nome do arquivo |
Imprima o arquivo na impressora especificada. |
aplicativo/dde |
Inicie e aguarde o comando DDE. |
aplicativo/Automation |
Inicie como um servidor de automação OLE. |
aplicativo/Embedding |
Inicie para editar um item OLE incorporado. |
aplicativo/Registeraplicativo /Regserver |
Informa o aplicativo para executar quaisquer tarefas de registro. |
aplicativo/Unregisteraplicativo /Unregserver |
Informa o aplicativo para executar quaisquer tarefas de cancelamento de registro. |
Derive uma nova classe de para manipular outros sinalizadores e valores de CCommandLineInfo parâmetro. Substituir ParseParam para lidar com os novos sinalizadores.
Hierarquia de herança
CCommandLineInfo
Requerimentos
Cabeçalho:afxwin.h
CCommandLineInfo::CCommandLineInfo
Este construtor cria um CCommandLineInfo objeto com valores padrão.
CCommandLineInfo();
Observações
O padrão é mostrar a tela inicial (m_bShowSplash=TRUE) e executar o comando Novo no menu Arquivo (m_nShellCommand=NewFile).
A estrutura do aplicativo chama ParseParam para preencher membros de dados desse objeto.
Exemplo
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
CCommandLineInfo::m_bRunAutomated
Indica que o /Automation sinalizador foi encontrado na linha de comando.
BOOL m_bRunAutomated;
Observações
Se TRUE, isso significa iniciar como um servidor de automação OLE.
CCommandLineInfo::m_bRunEmbedded
Indica que o /Embedding sinalizador foi encontrado na linha de comando.
BOOL m_bRunEmbedded;
Observações
Se TRUE, isso significa iniciar para editar um item OLE incorporado.
CCommandLineInfo::m_bShowSplash
Indica que a tela inicial deve ser exibida.
BOOL m_bShowSplash;
Observações
Se TRUE, isso significa que a tela inicial para este aplicativo deve ser exibida durante a inicialização. A implementação padrão de define este membro de ParseParam dados como TRUE if m_nShellCommand é igual a CCommandLineInfo::FileNew.
CCommandLineInfo::m_nShellCommand
Indica o comando shell para esta instância do aplicativo.
m_nShellCommand;
Observações
O tipo para esse membro de dados é o seguinte tipo enumerado, que é definido na CCommandLineInfo classe.
enum {
FileNew,
FileOpen,
FilePrint,
FilePrintTo,
FileDDE,
AppRegister,
AppUnregister,
RestartByRestartManager,
FileNothing = -1
};
Para obter uma breve descrição desses valores, consulte a lista a seguir.
CCommandLineInfo::FileNewIndica que nenhum nome de arquivo foi encontrado na linha de comando.CCommandLineInfo::FileOpenIndica que um nome de arquivo foi encontrado na linha de comando e que nenhum dos seguintes sinalizadores foi encontrado na linha de comando:/p,/pt,/dde.CCommandLineInfo::FilePrintIndica que o/psinalizador foi encontrado na linha de comando.CCommandLineInfo::FilePrintToIndica que o/ptsinalizador foi encontrado na linha de comando.CCommandLineInfo::FileDDEIndica que o/ddesinalizador foi encontrado na linha de comando.CCommandLineInfo::AppRegisterIndica que o/Registersinalizador ou/Regserverfoi encontrado na linha de comando e o aplicativo foi solicitado a se registrar.CCommandLineInfo::AppUnregisterIndica que o aplicativo ou/Unregisterfoi solicitado a cancelar o/Unregserverregistro.CCommandLineInfo::RestartByRestartManagerIndica que o aplicativo foi reiniciado pelo gerenciador de reinicialização.CCommandLineInfo::FileNothingDesativa a exibição de uma nova janela filho MDI na inicialização. Por design, os aplicativos MDI gerados pelo Assistente de Aplicativo exibem uma nova janela filho na inicialização. Para desativar esse recurso, um aplicativo pode usarCCommandLineInfo::FileNothingcomo o comando shell quando chamaProcessShellCommand.ProcessShellCommandé chamado peloInitInstance( )de todas asCWinAppclasses derivadas.
Exemplo
// From CMyWinApp::InitInstance
// Parse command line for standard shell commands, DDE, file open
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
// DON'T display a new MDI child window during startup!!!
cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing;
// Dispatch commands specified on the command line
if (!ProcessShellCommand(cmdInfo))
{
return FALSE;
}
CCommandLineInfo::m_strDriverName
Armazena o valor do terceiro parâmetro não-sinalizador na linha de comando.
CString m_strDriverName;
Observações
Este parâmetro é normalmente o nome do driver de impressora para um comando shell Print To. A implementação padrão de define esse membro de dados somente se o sinalizador ParseParam foi encontrado na linha de /pt comando.
CCommandLineInfo::m_strFileName
Armazena o valor do primeiro parâmetro não-flag na linha de comando.
CString m_strFileName;
Observações
Este parâmetro é normalmente o nome do ficheiro a abrir.
CCommandLineInfo::m_strPortName
Armazena o valor do quarto parâmetro non-flag na linha de comando.
CString m_strPortName;
Observações
Este parâmetro é normalmente o nome da porta da impressora para um comando shell Print To. A implementação padrão de define esse membro de dados somente se o sinalizador ParseParam foi encontrado na linha de /pt comando.
CCommandLineInfo::m_strPrinterName
Armazena o valor do segundo parâmetro non-flag na linha de comando.
CString m_strPrinterName;
Observações
Este parâmetro é normalmente o nome da impressora para um comando shell Imprimir em. A implementação padrão de define esse membro de dados somente se o sinalizador ParseParam foi encontrado na linha de /pt comando.
CCommandLineInfo::m_strRestartIdentifier
O identificador de reinicialização exclusivo na linha de comando.
CString m_strRestartIdentifier;
Observações
O identificador de reinicialização é exclusivo para cada instância do aplicativo.
Se o gerenciador de reinicialização sair do aplicativo e estiver configurado para reiniciá-lo, o gerenciador de reinicialização executará o aplicativo a partir da linha de comando com o identificador de reinicialização como um parâmetro opcional. Quando o gerenciador de reinicialização usa o identificador de reinicialização, o aplicativo pode reabrir os documentos abertos anteriormente e recuperar arquivos salvos automaticamente.
CCommandLineInfo::ParseParam
A estrutura chama essa função para analisar/interpretar parâmetros individuais a partir da linha de comando. A segunda versão difere da primeira apenas em projetos Unicode.
virtual void ParseParam(
const char* pszParam,
BOOL bFlag,
BOOL bLast);
virtual void ParseParam(
const TCHAR* pszParam,
BOOL bFlag,
BOOL bLast);
Parâmetros
pszParam
O parâmetro ou sinalizador.
bFlag
Indica se pszParam é um parâmetro ou um sinalizador.
bLast
Indica se este é o último parâmetro ou sinalizador na linha de comando.
Observações
CWinApp::ParseCommandLine chama ParseParam uma vez para cada parâmetro ou sinalizador na linha de comando, passando o argumento para pszParam. Se o primeiro caractere do parâmetro for a - ou a /, ele será removido e bFlag definido como TRUE. Ao analisar o parâmetro final, bLast é definido como TRUE.
A implementação padrão dessa função reconhece os seguintes sinalizadores: /p, /pt, /dde, /Automatione , conforme /Embeddingmostrado na tabela a seguir:
| Argumento de linha de comando | Comando executado |
|---|---|
| aplicativo | Novo ficheiro. |
| nome do ficheiro da aplicação | Abra o arquivo. |
aplicativo/p nome do ficheiro |
Imprima o arquivo na impressora padrão. |
aplicativo/pt porta do driver de impressora do nome do arquivo |
Imprima o arquivo na impressora especificada. |
aplicativo/dde |
Inicie e aguarde o comando DDE. |
aplicativo/Automation |
Inicie como um servidor de automação OLE. |
aplicativo/Embedding |
Inicie para editar um item OLE incorporado. |
aplicativo/Registeraplicativo /Regserver |
Informa o aplicativo para executar quaisquer tarefas de registro. |
aplicativo/Unregisteraplicativo /Unregserver |
Informa o aplicativo para executar quaisquer tarefas de cancelamento de registro. |
Essas informações são armazenadas em m_bRunAutomated, m_bRunEmbeddede m_nShellCommand. As bandeiras são marcadas por uma barra / ou hífen -.
A implementação padrão coloca o primeiro parâmetro não-flag em m_strFileName. No caso do /pt sinalizador, a implementação padrão coloca o segundo, terceiro e quarto parâmetros não-sinalizadores em m_strPrinterName, m_strDriverNamee m_strPortName, respectivamente.
A implementação padrão também define m_bShowSplash como TRUE somente no caso de um novo arquivo. No caso de um novo arquivo, o usuário tomou medidas envolvendo o próprio aplicativo. Em qualquer outro caso, incluindo a abertura de arquivos existentes usando o shell, a ação do usuário envolve o arquivo diretamente. Em um ponto de vista centrado em documentos, a tela inicial não precisa anunciar a inicialização do aplicativo.
Substitua essa função em sua classe derivada para manipular outros valores de sinalizador e parâmetro.
Ver também
CObject Classe
Gráfico de Hierarquia
CWinApp::ParseCommandLine
CWinApp::ProcessShellCommand