Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Helpt bij het parseren van de opdrachtregel bij het opstarten van de toepassing.
Syntaxis
class CCommandLineInfo : public CObject
Leden
Openbare constructors
| Naam | Beschrijving |
|---|---|
CCommandLineInfo::CCommandLineInfo |
Maakt een standaardobject CCommandLineInfo . |
Openbare methoden
| Naam | Beschrijving |
|---|---|
CCommandLineInfo::ParseParam |
Overschrijf deze callback om afzonderlijke parameters te parseren. |
Leden van openbare gegevens
| Naam | Beschrijving |
|---|---|
CCommandLineInfo::m_bRunAutomated |
Geeft aan dat de opdrachtregeloptie /Automation is gevonden. |
CCommandLineInfo::m_bRunEmbedded |
Geeft aan dat de opdrachtregeloptie /Embedding is gevonden. |
CCommandLineInfo::m_bShowSplash |
Geeft aan of er een welkomstscherm moet worden weergegeven. |
CCommandLineInfo::m_nShellCommand |
Geeft de shell-opdracht aan die moet worden verwerkt. |
CCommandLineInfo::m_strDriverName |
Geeft de naam van het stuurprogramma aan als de shell-opdracht is afgedrukt naar; anders leeg. |
CCommandLineInfo::m_strFileName |
Geeft de bestandsnaam aan die moet worden geopend of afgedrukt; leeg als de shell-opdracht Nieuw of DDE is. |
CCommandLineInfo::m_strPortName |
Geeft de naam van de poort aan als de shell-opdracht is afgedrukt naar; anders leeg. |
CCommandLineInfo::m_strPrinterName |
Geeft de naam van de printer aan als de shell-opdracht is afgedrukt naar; anders leeg. |
CCommandLineInfo::m_strRestartIdentifier |
Geeft de unieke id voor opnieuw opstarten voor de manager voor opnieuw opstarten aan als de herstartmanager de toepassing opnieuw heeft opgestart. |
Opmerkingen
Een MFC-toepassing maakt doorgaans een lokaal exemplaar van deze klasse in de functie van het InitInstance toepassingsobject. Dit object wordt vervolgens doorgegeven aan CWinApp::ParseCommandLine, waarmee herhaaldelijk wordt aangeroepen ParseParam om het CCommandLineInfo object te vullen. Het CCommandLineInfo object wordt vervolgens doorgegeven om CWinApp::ProcessShellCommand de opdrachtregelargumenten en vlaggen te verwerken.
U kunt dit object gebruiken om de volgende opdrachtregelopties en -parameters in te kapselen:
| Opdrachtregelargument | Opdracht uitgevoerd |
|---|---|
| app | Nieuw bestand. |
| bestandsnaam van app | Open het bestand. |
app/p Bestandsnaam |
Druk het bestand af op de standaardprinter. |
app/pt poort van printerstuurprogramma |
Druk het bestand af op de opgegeven printer. |
app/dde |
Start en wacht op de DDE-opdracht. |
app/Automation |
Opstarten als een OLE-automatiseringsserver. |
app/Embedding |
Een ingesloten OLE-item bewerken. |
app/Registerapp /Regserver |
Informeert de toepassing om registratietaken uit te voeren. |
app/Unregisterapp /Unregserver |
Informeert de toepassing om eventuele niet-registratietaken uit te voeren. |
Een nieuwe klasse afleiden van CCommandLineInfo waaruit andere vlaggen en parameterwaarden moeten worden verwerkt. Overschrijven ParseParam om de nieuwe vlaggen te verwerken.
Overnamehiërarchie
CCommandLineInfo
Behoeften
koptekst:afxwin.h
CCommandLineInfo::CCommandLineInfo
Met deze constructor maakt u een CCommandLineInfo object met standaardwaarden.
CCommandLineInfo();
Opmerkingen
De standaardinstelling is om het welkomstscherm (m_bShowSplash=TRUE) weer te geven en de opdracht Nieuw uit te voeren in het menu Bestand (m_nShellCommand=NewFile).
Het toepassingsframework roept ParseParam aan om gegevensleden van dit object in te vullen.
Voorbeeld
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
CCommandLineInfo::m_bRunAutomated
Geeft aan dat de /Automation vlag is gevonden op de opdrachtregel.
BOOL m_bRunAutomated;
Opmerkingen
Als TRUE, betekent dit opstarten als een OLE-automatiseringsserver.
CCommandLineInfo::m_bRunEmbedded
Geeft aan dat de /Embedding vlag is gevonden op de opdrachtregel.
BOOL m_bRunEmbedded;
Opmerkingen
Als TRUEdit betekent dat u een ingesloten OLE-item kunt bewerken.
CCommandLineInfo::m_bShowSplash
Geeft aan dat het welkomstscherm moet worden weergegeven.
BOOL m_bShowSplash;
Opmerkingen
Als TRUEdit betekent dat het welkomstscherm voor deze toepassing moet worden weergegeven tijdens het opstarten. De standaard implementatie van ParseParam dit gegevenslid TRUE wordt ingesteld op als m_nShellCommand deze gelijk is aan CCommandLineInfo::FileNew.
CCommandLineInfo::m_nShellCommand
Geeft de shell-opdracht voor dit exemplaar van de toepassing aan.
m_nShellCommand;
Opmerkingen
Het type voor dit gegevenslid is het volgende geïnventariseerd type, dat is gedefinieerd in de CCommandLineInfo klasse.
enum {
FileNew,
FileOpen,
FilePrint,
FilePrintTo,
FileDDE,
AppRegister,
AppUnregister,
RestartByRestartManager,
FileNothing = -1
};
Zie de volgende lijst voor een korte beschrijving van deze waarden.
CCommandLineInfo::FileNewGeeft aan dat er geen bestandsnaam is gevonden op de opdrachtregel.CCommandLineInfo::FileOpenGeeft aan dat er een bestandsnaam is gevonden op de opdrachtregel en dat geen van de volgende vlaggen is gevonden op de opdrachtregel:/p, ,/pt./ddeCCommandLineInfo::FilePrintGeeft aan dat de/pvlag is gevonden op de opdrachtregel.CCommandLineInfo::FilePrintToGeeft aan dat de/ptvlag is gevonden op de opdrachtregel.CCommandLineInfo::FileDDEGeeft aan dat de/ddevlag is gevonden op de opdrachtregel.CCommandLineInfo::AppRegisterGeeft aan dat de/Registerof/Regservervlag is gevonden op de opdrachtregel en dat de toepassing is gevraagd om te registreren.CCommandLineInfo::AppUnregisterHiermee wordt aangegeven dat de registratie van de/Unregistertoepassing of/Unregserverde toepassing is opgehefd.CCommandLineInfo::RestartByRestartManagerGeeft aan dat de toepassing opnieuw is opgestart door de manager voor opnieuw opstarten.CCommandLineInfo::FileNothingHiermee schakelt u de weergave van een nieuw MDI-onderliggend venster uit bij het opstarten. Door de toepassingswizard gegenereerde MDI-toepassingen geven standaard een nieuw onderliggend venster weer bij het opstarten. Als u deze functie wilt uitschakelen, kan een toepassing deze als shell-opdracht gebruikenCCommandLineInfo::FileNothingwanneer deze aanroeptProcessShellCommand.ProcessShellCommandwordt aangeroepen door alleInitInstance( )CWinAppafgeleide klassen.
Voorbeeld
// 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
Slaat de waarde op van de derde parameter zonder vlag op de opdrachtregel.
CString m_strDriverName;
Opmerkingen
Deze parameter is doorgaans de naam van het printerstuurprogramma voor de opdracht Afdrukken naar shell. De standaard implementatie van ParseParam dit gegevenslid wordt alleen ingesteld als de /pt vlag op de opdrachtregel is gevonden.
CCommandLineInfo::m_strFileName
Slaat de waarde op van de eerste parameter zonder vlag op de opdrachtregel.
CString m_strFileName;
Opmerkingen
Deze parameter is doorgaans de naam van het bestand dat moet worden geopend.
CCommandLineInfo::m_strPortName
Slaat de waarde op van de vierde parameter zonder vlag op de opdrachtregel.
CString m_strPortName;
Opmerkingen
Deze parameter is doorgaans de naam van de printerpoort voor de opdracht Afdrukken naar shell. De standaard implementatie van ParseParam dit gegevenslid wordt alleen ingesteld als de /pt vlag op de opdrachtregel is gevonden.
CCommandLineInfo::m_strPrinterName
Slaat de waarde op van de tweede parameter zonder vlag op de opdrachtregel.
CString m_strPrinterName;
Opmerkingen
Deze parameter is doorgaans de naam van de printer voor de opdracht Print To Shell. De standaard implementatie van ParseParam dit gegevenslid wordt alleen ingesteld als de /pt vlag op de opdrachtregel is gevonden.
CCommandLineInfo::m_strRestartIdentifier
De unieke herstart-id op de opdrachtregel.
CString m_strRestartIdentifier;
Opmerkingen
De id voor opnieuw opstarten is uniek voor elk exemplaar van de toepassing.
Als de manager voor opnieuw opstarten de toepassing afsluit en is geconfigureerd om deze opnieuw te starten, voert de manager voor opnieuw opstarten de toepassing uit vanaf de opdrachtregel met de id voor opnieuw opstarten als een optionele parameter. Wanneer de manager voor opnieuw opstarten de id voor opnieuw opstarten gebruikt, kan de toepassing de eerder geopende documenten opnieuw openen en automatisch opgeslagen bestanden herstellen.
CCommandLineInfo::ParseParam
In het framework wordt deze functie aangeroepen om afzonderlijke parameters vanaf de opdrachtregel te parseren/interpreteren. De tweede versie verschilt van de eerste alleen in Unicode-projecten.
virtual void ParseParam(
const char* pszParam,
BOOL bFlag,
BOOL bLast);
virtual void ParseParam(
const TCHAR* pszParam,
BOOL bFlag,
BOOL bLast);
Parameterwaarden
pszParam
De parameter of vlag.
bFlag
Geeft aan of pszParam het een parameter of vlag is.
bLast
Geeft aan of dit de laatste parameter of vlag op de opdrachtregel is.
Opmerkingen
CWinApp::ParseCommandLine roept ParseParam eenmaal aan voor elke parameter of vlag op de opdrachtregel, waarbij het argument wordt doorgegeven aan pszParam. Als het eerste teken van de parameter een - of een /is, wordt deze verwijderd en bFlag ingesteld op TRUE. Bij het parseren van de laatste parameter, bLast wordt ingesteld op TRUE.
De standaard implementatie van deze functie herkent de volgende vlaggen: /p, /pt, /dde, /Automationen /Embedding, zoals wordt weergegeven in de volgende tabel:
| Opdrachtregelargument | Opdracht uitgevoerd |
|---|---|
| app | Nieuw bestand. |
| bestandsnaam van app | Open het bestand. |
app/p Bestandsnaam |
Druk het bestand af op de standaardprinter. |
app/pt poort van printerstuurprogramma |
Druk het bestand af op de opgegeven printer. |
app/dde |
Start en wacht op de DDE-opdracht. |
app/Automation |
Opstarten als een OLE-automatiseringsserver. |
app/Embedding |
Een ingesloten OLE-item bewerken. |
app/Registerapp /Regserver |
Informeert de toepassing om registratietaken uit te voeren. |
app/Unregisterapp /Unregserver |
Informeert de toepassing om eventuele niet-registratietaken uit te voeren. |
Deze informatie wordt opgeslagen in m_bRunAutomated, m_bRunEmbeddeden m_nShellCommand. Vlaggen worden gemarkeerd door een slash / of afbreekstreepje -.
De standaard implementatie plaatst de eerste parameter zonder vlag in m_strFileName. In het geval van de /pt vlag plaatst de standaard implementatie respectievelijk de tweede, derde en vierde niet-vlagparameters in m_strPrinterName, m_strDriverNameen m_strPortName, respectievelijk.
De standaard implementatie wordt ook alleen ingesteld m_bShowSplashTRUE in het geval van een nieuw bestand. In het geval van een nieuw bestand heeft de gebruiker actie ondernomen met betrekking tot de toepassing zelf. In elk ander geval, inclusief het openen van bestaande bestanden met behulp van de shell, omvat de gebruikersactie het bestand rechtstreeks. In een documentgericht standpunt hoeft het welkomstscherm de toepassing niet aan te kondigen.
Overschrijf deze functie in uw afgeleide klasse om andere vlag- en parameterwaarden te verwerken.
Zie ook
CObject klasse
Hiërarchiegrafiek
CWinApp::ParseCommandLine
CWinApp::ProcessShellCommand