La classe CCommandLineInfo
Contribue à l'analyse de la ligne de commande au démarrage de l'application.
Syntaxe
class CCommandLineInfo : public CObject
Membres
Constructeurs publics
Nom | Description |
---|---|
CCommandLineInfo::CCommandLineInfo |
Construit un objet par défaut CCommandLineInfo . |
Méthodes publiques
Nom | Description |
---|---|
CCommandLineInfo::ParseParam |
Remplacez ce rappel pour analyser des paramètres individuels. |
Membres de données publics
Nom | Description |
---|---|
CCommandLineInfo::m_bRunAutomated |
Indique que l’option de ligne /Automation de commande a été trouvée. |
CCommandLineInfo::m_bRunEmbedded |
Indique que l’option de ligne /Embedding de commande a été trouvée. |
CCommandLineInfo::m_bShowSplash |
Indique si un écran de démarrage doit être affiché. |
CCommandLineInfo::m_nShellCommand |
Indique la commande shell à traiter. |
CCommandLineInfo::m_strDriverName |
Indique le nom du pilote si la commande shell est Print To ; sinon vide. |
CCommandLineInfo::m_strFileName |
Indique le nom du fichier à ouvrir ou imprimer ; vide si la commande shell est Nouvelle ou DDE. |
CCommandLineInfo::m_strPortName |
Indique le nom du port si la commande shell est Print To ; sinon vide. |
CCommandLineInfo::m_strPrinterName |
Indique le nom de l’imprimante si la commande shell est Print To ; sinon vide. |
CCommandLineInfo::m_strRestartIdentifier |
Indique l’identificateur de redémarrage unique du gestionnaire de redémarrage si le gestionnaire de redémarrage a redémarré l’application. |
Notes
Une application MFC crée généralement une instance locale de cette classe dans la InitInstance
fonction de son objet d’application. Cet objet est ensuite passé à CWinApp::ParseCommandLine
, qui appelle ParseParam
à plusieurs reprises pour remplir l’objet CCommandLineInfo
. L’objet CCommandLineInfo
est ensuite passé pour CWinApp::ProcessShellCommand
gérer les arguments et indicateurs de ligne de commande.
Vous pouvez utiliser cet objet pour encapsuler les options et paramètres de ligne de commande suivants :
Argument de ligne de commande | Commande exécutée |
---|---|
app | Nouveau fichier. |
nom de fichier d’application | Ouvrez le fichier . |
nom de fichier d’application /p |
Imprimez le fichier sur l’imprimante par défaut. |
port du pilote d’imprimante du nom de fichier d’application /pt |
Imprimez le fichier sur l’imprimante spécifiée. |
appli /dde |
Démarrez et attendez la commande DDE. |
appli /Automation |
Démarrez en tant que serveur OLE Automation. |
appli /Embedding |
Démarrez pour modifier un élément OLE incorporé. |
appli /Register appli /Regserver |
Informe l’application d’effectuer toutes les tâches d’inscription. |
appli /Unregister appli /Unregserver |
Informe l’application d’effectuer toutes les tâches d’annulation de l’inscription. |
Dérivez une nouvelle classe pour CCommandLineInfo
gérer d’autres indicateurs et valeurs de paramètre. Remplacez-les ParseParam
pour gérer les nouveaux indicateurs.
Hiérarchie d'héritage
CCommandLineInfo
Spécifications
En-tête : afxwin.h
CCommandLineInfo::CCommandLineInfo
Ce constructeur crée un CCommandLineInfo
objet avec des valeurs par défaut.
CCommandLineInfo();
Notes
La valeur par défaut consiste à afficher l’écran de démarrage ( m_bShowSplash=TRUE
) et à exécuter la commande New dans le menu Fichier ( m_nShellCommand
=NewFile
).
L’infrastructure d’application appelle ParseParam
pour remplir les membres de données de cet objet.
Exemple
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
CCommandLineInfo::m_bRunAutomated
Indique que l’indicateur /Automation
a été trouvé sur la ligne de commande.
BOOL m_bRunAutomated;
Notes
Si TRUE
, cela signifie démarrer en tant que serveur OLE Automation.
CCommandLineInfo::m_bRunEmbedded
Indique que l’indicateur /Embedding
a été trouvé sur la ligne de commande.
BOOL m_bRunEmbedded;
Notes
Si TRUE
, cela signifie que vous démarrez pour modifier un élément OLE incorporé.
CCommandLineInfo::m_bShowSplash
Indique que l’écran de démarrage doit être affiché.
BOOL m_bShowSplash;
Notes
Si TRUE
, cela signifie que l’écran de démarrage de cette application doit s’afficher au démarrage. Implémentation par défaut des jeux de ce membre de ParseParam
données si m_nShellCommand
elle est égale à CCommandLineInfo::FileNew
.TRUE
CCommandLineInfo::m_nShellCommand
Indique la commande shell pour cette instance de l’application.
m_nShellCommand;
Notes
Le type de ce membre de données est le type énuméré suivant, qui est défini dans la CCommandLineInfo
classe.
enum {
FileNew,
FileOpen,
FilePrint,
FilePrintTo,
FileDDE,
AppRegister,
AppUnregister,
RestartByRestartManager,
FileNothing = -1
};
Pour obtenir une brève description de ces valeurs, consultez la liste suivante.
CCommandLineInfo::FileNew
Indique qu’aucun nom de fichier n’a été trouvé sur la ligne de commande.CCommandLineInfo::FileOpen
Indique qu’un nom de fichier a été trouvé sur la ligne de commande et qu’aucun des indicateurs suivants n’a été trouvé sur la ligne de commande :/p
,/pt
./dde
CCommandLineInfo::FilePrint
Indique que l’indicateur/p
a été trouvé sur la ligne de commande.CCommandLineInfo::FilePrintTo
Indique que l’indicateur/pt
a été trouvé sur la ligne de commande.CCommandLineInfo::FileDDE
Indique que l’indicateur/dde
a été trouvé sur la ligne de commande.CCommandLineInfo::AppRegister
Indique que le ou/Regserver
l’indicateur/Register
a été trouvé sur la ligne de commande et que l’application a été invitée à s’inscrire.CCommandLineInfo::AppUnregister
Indique que l’application ou/Unregserver
l’application a été invitée à annuler l’inscription/Unregister
.CCommandLineInfo::RestartByRestartManager
Indique que l’application a été redémarrée par le gestionnaire de redémarrage.CCommandLineInfo::FileNothing
Désactive l’affichage d’une nouvelle fenêtre enfant MDI au démarrage. Par conception, les applications MDI générées par l’Assistant Application affichent une nouvelle fenêtre enfant au démarrage. Pour désactiver cette fonctionnalité, une application peut utiliserCCommandLineInfo::FileNothing
comme commande shell lorsqu’elle appelleProcessShellCommand
.ProcessShellCommand
est appelé par toutesInitInstance( )
lesCWinApp
classes dérivées.
Exemple
// 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
Stocke la valeur du troisième paramètre non-indicateur sur la ligne de commande.
CString m_strDriverName;
Notes
Ce paramètre est généralement le nom du pilote d’imprimante pour une commande Print To shell. Implémentation par défaut des jeux de ce membre de ParseParam
données uniquement si l’indicateur /pt
a été trouvé sur la ligne de commande.
CCommandLineInfo::m_strFileName
Stocke la valeur du premier paramètre non-indicateur sur la ligne de commande.
CString m_strFileName;
Notes
Ce paramètre est généralement le nom du fichier à ouvrir.
CCommandLineInfo::m_strPortName
Stocke la valeur du quatrième paramètre non-indicateur sur la ligne de commande.
CString m_strPortName;
Notes
Ce paramètre est généralement le nom du port d’imprimante d’une commande Print To shell. Implémentation par défaut des jeux de ce membre de ParseParam
données uniquement si l’indicateur /pt
a été trouvé sur la ligne de commande.
CCommandLineInfo::m_strPrinterName
Stocke la valeur du deuxième paramètre non-indicateur sur la ligne de commande.
CString m_strPrinterName;
Notes
Ce paramètre est généralement le nom de l’imprimante pour une commande d’interpréteur de commandes Print To. Implémentation par défaut des jeux de ce membre de ParseParam
données uniquement si l’indicateur /pt
a été trouvé sur la ligne de commande.
CCommandLineInfo::m_strRestartIdentifier
Identificateur de redémarrage unique sur la ligne de commande.
CString m_strRestartIdentifier;
Notes
L’identificateur de redémarrage est unique pour chaque instance de l’application.
Si le gestionnaire de redémarrage quitte l’application et est configuré pour le redémarrer, le gestionnaire de redémarrage exécute l’application à partir de la ligne de commande avec l’identificateur de redémarrage en tant que paramètre facultatif. Lorsque le gestionnaire de redémarrage utilise l’identificateur de redémarrage, l’application peut rouvrir les documents précédemment ouverts et récupérer les fichiers enregistrés automatiquement.
CCommandLineInfo::ParseParam
L’infrastructure appelle cette fonction pour analyser/interpréter des paramètres individuels à partir de la ligne de commande. La deuxième version diffère du premier dans les projets Unicode.
virtual void ParseParam(
const char* pszParam,
BOOL bFlag,
BOOL bLast);
virtual void ParseParam(
const TCHAR* pszParam,
BOOL bFlag,
BOOL bLast);
Paramètres
pszParam
Paramètre ou indicateur.
bFlag
Indique s’il s’agit pszParam
d’un paramètre ou d’un indicateur.
bLast
Indique s’il s’agit du dernier paramètre ou indicateur sur la ligne de commande.
Notes
CWinApp::ParseCommandLine
appelle ParseParam
une fois pour chaque paramètre ou indicateur sur la ligne de commande, en passant l’argument à pszParam
. Si le premier caractère du paramètre est un -
ou un /
, il est supprimé et bFlag
est défini sur TRUE
. Lors de l’analyse du paramètre final, bLast
est défini sur TRUE
.
L’implémentation par défaut de cette fonction reconnaît les indicateurs suivants : /p
, , /pt
, /Automation
/dde
, et /Embedding
, comme indiqué dans le tableau suivant :
Argument de ligne de commande | Commande exécutée |
---|---|
app | Nouveau fichier. |
nom de fichier d’application | Ouvrez le fichier . |
nom de fichier d’application /p |
Imprimez le fichier sur l’imprimante par défaut. |
port du pilote d’imprimante du nom de fichier d’application /pt |
Imprimez le fichier sur l’imprimante spécifiée. |
appli /dde |
Démarrez et attendez la commande DDE. |
appli /Automation |
Démarrez en tant que serveur OLE Automation. |
appli /Embedding |
Démarrez pour modifier un élément OLE incorporé. |
appli /Register appli /Regserver |
Informe l’application d’effectuer toutes les tâches d’inscription. |
appli /Unregister appli /Unregserver |
Informe l’application d’effectuer toutes les tâches d’annulation de l’inscription. |
Ces informations sont stockées dans m_bRunAutomated
, m_bRunEmbedded
et m_nShellCommand
. Les indicateurs sont marqués par une barre oblique /
ou un trait -
d’union.
L’implémentation par défaut place le premier paramètre non-indicateur dans m_strFileName
. Dans le cas de l’indicateur /pt
, l’implémentation par défaut place les paramètres de deuxième, troisième et quatrième non-indicateur dans m_strPrinterName
, m_strDriverName
et m_strPortName
, respectivement.
L’implémentation par défaut définit m_bShowSplash
également la TRUE
valeur uniquement dans le cas d’un nouveau fichier. Dans le cas d’un nouveau fichier, l’utilisateur a pris des mesures impliquant l’application elle-même. Dans tout autre cas, y compris l’ouverture de fichiers existants à l’aide de l’interpréteur de commandes, l’action de l’utilisateur implique directement le fichier. Dans un point de vue centré sur le document, l’écran de démarrage n’a pas besoin d’annoncer le démarrage de l’application.
Remplacez cette fonction dans votre classe dérivée pour gérer d’autres valeurs d’indicateur et de paramètre.
Voir aussi
CObject
Classe
Graphique hiérarchique
CWinApp::ParseCommandLine
CWinApp::ProcessShellCommand