Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ułatwia analizowanie wiersza polecenia podczas uruchamiania aplikacji.
Składnia
class CCommandLineInfo : public CObject
Elementy członkowskie
Konstruktory publiczne
| Nazwa/nazwisko | opis |
|---|---|
CCommandLineInfo::CCommandLineInfo |
Tworzy obiekt domyślny CCommandLineInfo . |
Metody publiczne
| Nazwa/nazwisko | opis |
|---|---|
CCommandLineInfo::ParseParam |
Zastąpij to wywołanie zwrotne, aby przeanalizować poszczególne parametry. |
Publiczne elementy członkowskie danych
| Nazwa/nazwisko | opis |
|---|---|
CCommandLineInfo::m_bRunAutomated |
Wskazuje, że została znaleziona opcja wiersza /Automation polecenia. |
CCommandLineInfo::m_bRunEmbedded |
Wskazuje, że została znaleziona opcja wiersza /Embedding polecenia. |
CCommandLineInfo::m_bShowSplash |
Wskazuje, czy powinien zostać wyświetlony ekran powitalny. |
CCommandLineInfo::m_nShellCommand |
Wskazuje polecenie powłoki do przetworzenia. |
CCommandLineInfo::m_strDriverName |
Wskazuje nazwę sterownika, jeśli polecenie powłoki to Print To; w przeciwnym razie puste. |
CCommandLineInfo::m_strFileName |
Wskazuje nazwę pliku do otwarcia lub wydrukowania; pusty, jeśli polecenie powłoki to New lub DDE. |
CCommandLineInfo::m_strPortName |
Wskazuje nazwę portu, jeśli polecenie powłoki to Print To; w przeciwnym razie puste. |
CCommandLineInfo::m_strPrinterName |
Wskazuje nazwę drukarki, jeśli polecenie powłoki to Drukuj do; w przeciwnym razie puste. |
CCommandLineInfo::m_strRestartIdentifier |
Wskazuje unikatowy identyfikator ponownego uruchomienia menedżera ponownego uruchamiania, jeśli menedżer ponownego uruchamiania ponownie uruchomił aplikację. |
Uwagi
Aplikacja MFC zazwyczaj tworzy lokalne wystąpienie tej klasy w InitInstance funkcji jej obiektu aplikacji. Ten obiekt jest następnie przekazywany do CWinApp::ParseCommandLineobiektu , który wielokrotnie wywołuje metodę ParseParam wypełniania CCommandLineInfo obiektu. Następnie CCommandLineInfo obiekt jest przekazywany do CWinApp::ProcessShellCommand obsługi argumentów i flag wiersza polecenia.
Tego obiektu można użyć do hermetyzacji następujących opcji wiersza polecenia i parametrów:
| Argument wiersza polecenia | Wykonane polecenie |
|---|---|
| App | Nowy plik. |
| nazwa pliku aplikacji | Otwórz plik. |
nazwa pliku aplikacji/p |
Drukuj plik do drukarki domyślnej. |
port sterownika drukarki nazwy pliku aplikacji/pt |
Drukuj plik na określonej drukarce. |
App/dde |
Uruchom polecenie DDE i poczekaj na nie. |
App/Automation |
Uruchom jako serwer automatyzacji OLE. |
App/Embedding |
Uruchom polecenie , aby edytować osadzony element OLE. |
App/RegisterApp /Regserver |
Informuje aplikację o wykonywaniu wszelkich zadań rejestracji. |
App/UnregisterApp /Unregserver |
Informuje aplikację o wykonywaniu wszelkich zadań wyrejestrowania. |
Utwórz nową klasę z CCommandLineInfo , aby obsługiwać inne flagi i wartości parametrów. Zastąpij ParseParam obsługę nowych flag.
Hierarchia dziedziczenia
CCommandLineInfo
Wymagania
Nagłówek:afxwin.h
CCommandLineInfo::CCommandLineInfo
Ten konstruktor tworzy CCommandLineInfo obiekt z wartościami domyślnymi.
CCommandLineInfo();
Uwagi
Wartością domyślną jest wyświetlenie ekranu powitalnego (m_bShowSplash=TRUE) i wykonanie polecenia Nowy w menu Plik (m_nShellCommand=NewFile).
Struktura aplikacji wywołuje metodę ParseParam wypełniania elementów członkowskich danych tego obiektu.
Przykład
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
CCommandLineInfo::m_bRunAutomated
Wskazuje, że flaga /Automation została znaleziona w wierszu polecenia.
BOOL m_bRunAutomated;
Uwagi
Jeśli TRUEwartość , oznacza to uruchomienie jako serwera automatyzacji OLE.
CCommandLineInfo::m_bRunEmbedded
Wskazuje, że flaga /Embedding została znaleziona w wierszu polecenia.
BOOL m_bRunEmbedded;
Uwagi
Jeśli TRUEwartość , oznacza to uruchomienie do edycji osadzonego elementu OLE.
CCommandLineInfo::m_bShowSplash
Wskazuje, że powinien zostać wyświetlony ekran powitalny.
BOOL m_bShowSplash;
Uwagi
Jeśli TRUEwartość , oznacza to, że ekran powitalny dla tej aplikacji powinien być wyświetlany podczas uruchamiania. Domyślna implementacja ustawia ten element członkowski ParseParam danych na TRUE wartość , jeśli m_nShellCommand jest równy CCommandLineInfo::FileNew.
CCommandLineInfo::m_nShellCommand
Wskazuje polecenie powłoki dla tego wystąpienia aplikacji.
m_nShellCommand;
Uwagi
Typ dla tego elementu członkowskiego danych jest następującym wyliczonym typem, który jest zdefiniowany w CCommandLineInfo klasie.
enum {
FileNew,
FileOpen,
FilePrint,
FilePrintTo,
FileDDE,
AppRegister,
AppUnregister,
RestartByRestartManager,
FileNothing = -1
};
Aby zapoznać się z krótkim opisem tych wartości, zobacz poniższą listę.
CCommandLineInfo::FileNewWskazuje, że w wierszu polecenia nie znaleziono nazwy pliku.CCommandLineInfo::FileOpenWskazuje, że nazwa pliku została znaleziona w wierszu polecenia i że żadne z następujących flag nie zostały znalezione w wierszu polecenia:/p, ,/pt/dde.CCommandLineInfo::FilePrintWskazuje, że flaga/pzostała znaleziona w wierszu polecenia.CCommandLineInfo::FilePrintToWskazuje, że flaga/ptzostała znaleziona w wierszu polecenia.CCommandLineInfo::FileDDEWskazuje, że flaga/ddezostała znaleziona w wierszu polecenia.CCommandLineInfo::AppRegisterWskazuje, że flaga/Registerlub/Regserverzostała znaleziona w wierszu polecenia, a aplikacja została poproszona o zarejestrowanie.CCommandLineInfo::AppUnregisterWskazuje, że/Unregisteraplikacja lub/Unregserverzostała poproszona o wyrejestrowanie.CCommandLineInfo::RestartByRestartManagerWskazuje, że aplikacja została ponownie uruchomiona przez menedżera ponownego uruchamiania.CCommandLineInfo::FileNothingWyłącza wyświetlanie nowego okna podrzędnego MDI podczas uruchamiania. Zgodnie z projektem aplikacje generowane przez kreatora mdI wyświetlają nowe okno podrzędne podczas uruchamiania. Aby wyłączyć tę funkcję, aplikacja może użyćCCommandLineInfo::FileNothingjako polecenia powłoki, gdy wywołujeProcessShellCommandpolecenie .ProcessShellCommandjest wywoływanyInitInstance( )przez wszystkieCWinAppklasy pochodne.
Przykład
// 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
Przechowuje wartość trzeciego parametru innego niż flaga w wierszu polecenia.
CString m_strDriverName;
Uwagi
Ten parametr jest zazwyczaj nazwą sterownika drukarki dla polecenia Print To shell. Domyślna implementacja ustawia ten element członkowski ParseParam danych tylko wtedy, gdy flaga /pt została znaleziona w wierszu polecenia.
CCommandLineInfo::m_strFileName
Przechowuje wartość pierwszego parametru innego niż flaga w wierszu polecenia.
CString m_strFileName;
Uwagi
Ten parametr jest zazwyczaj nazwą pliku do otwarcia.
CCommandLineInfo::m_strPortName
Przechowuje wartość czwartego parametru innego niż flaga w wierszu polecenia.
CString m_strPortName;
Uwagi
Ten parametr jest zazwyczaj nazwą portu drukarki dla polecenia Print To shell. Domyślna implementacja ustawia ten element członkowski ParseParam danych tylko wtedy, gdy flaga /pt została znaleziona w wierszu polecenia.
CCommandLineInfo::m_strPrinterName
Przechowuje wartość drugiego parametru innego niż flaga w wierszu polecenia.
CString m_strPrinterName;
Uwagi
Ten parametr jest zazwyczaj nazwą drukarki dla polecenia Print To shell. Domyślna implementacja ustawia ten element członkowski ParseParam danych tylko wtedy, gdy flaga /pt została znaleziona w wierszu polecenia.
CCommandLineInfo::m_strRestartIdentifier
Unikatowy identyfikator ponownego uruchamiania w wierszu polecenia.
CString m_strRestartIdentifier;
Uwagi
Identyfikator ponownego uruchomienia jest unikatowy dla każdego wystąpienia aplikacji.
Jeśli menedżer ponownego uruchamiania kończy aplikację i jest skonfigurowany do ponownego uruchomienia, menedżer ponownego uruchamiania wykonuje aplikację z wiersza polecenia z identyfikatorem ponownego uruchamiania jako opcjonalny parametr. Gdy menedżer ponownego uruchamiania używa identyfikatora ponownego uruchamiania, aplikacja może ponownie otworzyć wcześniej otwarte dokumenty i odzyskać automatycznie zapisane pliki.
CCommandLineInfo::ParseParam
Platforma wywołuje tę funkcję do analizowania/interpretowania poszczególnych parametrów z wiersza polecenia. Druga wersja różni się od pierwszej tylko w projektach Unicode.
virtual void ParseParam(
const char* pszParam,
BOOL bFlag,
BOOL bLast);
virtual void ParseParam(
const TCHAR* pszParam,
BOOL bFlag,
BOOL bLast);
Parametry
pszParam
Parametr lub flaga.
bFlag
Wskazuje, czy pszParam jest parametrem, czy flagą.
bLast
Wskazuje, czy jest to ostatni parametr lub flaga w wierszu polecenia.
Uwagi
CWinApp::ParseCommandLine wywołuje ParseParam raz dla każdego parametru lub flagi w wierszu polecenia, przekazując argument do pszParam. Jeśli pierwszy znak parametru to - lub /, jest on usuwany i bFlag jest ustawiony na TRUEwartość . Podczas analizowania parametru bLast końcowego parametr jest ustawiony na TRUEwartość .
Domyślna implementacja tej funkcji rozpoznaje następujące flagi: /p, , /pt/dde, /Automationi /Embedding, jak pokazano w poniższej tabeli:
| Argument wiersza polecenia | Wykonane polecenie |
|---|---|
| App | Nowy plik. |
| nazwa pliku aplikacji | Otwórz plik. |
nazwa pliku aplikacji/p |
Drukuj plik do drukarki domyślnej. |
port sterownika drukarki nazwy pliku aplikacji/pt |
Drukuj plik na określonej drukarce. |
App/dde |
Uruchom polecenie DDE i poczekaj na nie. |
App/Automation |
Uruchom jako serwer automatyzacji OLE. |
App/Embedding |
Uruchom polecenie , aby edytować osadzony element OLE. |
App/RegisterApp /Regserver |
Informuje aplikację o wykonywaniu wszelkich zadań rejestracji. |
App/UnregisterApp /Unregserver |
Informuje aplikację o wykonywaniu wszelkich zadań wyrejestrowania. |
Te informacje są przechowywane w plikach m_bRunAutomated, m_bRunEmbeddedi m_nShellCommand. Flagi są oznaczone ukośnikiem / do przodu lub łącznikiem -.
Domyślna implementacja umieszcza pierwszy parametr inny niż flaga w pliku m_strFileName. W przypadku /pt flagi domyślna implementacja umieszcza odpowiednio parametry drugiego, trzeciego i czwartego nieo flagi do m_strPrinterName, m_strDriverNamei m_strPortName.
Domyślna implementacja ustawia również wartość m_bShowSplash na TRUE tylko w przypadku nowego pliku. W przypadku nowego pliku użytkownik podjął akcję obejmującą samą aplikację. W każdym innym przypadku, w tym otwarcie istniejących plików przy użyciu powłoki, akcja użytkownika obejmuje plik bezpośrednio. W punkcie widzenia skoncentrowanym na dokumencie ekran powitalny nie musi ogłaszać uruchomienia aplikacji.
Zastąp tę funkcję w klasie pochodnej, aby obsługiwać inne wartości flag i parametrów.
Zobacz też
CObject Klasa
Wykres hierarchii
CWinApp::ParseCommandLine
CWinApp::ProcessShellCommand