CCommandLineInfo
Sınıf
Uygulama başlangıcında komut satırını ayrıştırma konusunda yardımcı olur.
Sözdizimi
class CCommandLineInfo : public CObject
Üyeler
Ortak Oluşturucular
Veri Akışı Adı | Açıklama |
---|---|
CCommandLineInfo::CCommandLineInfo |
Varsayılan CCommandLineInfo bir nesne oluşturur. |
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
CCommandLineInfo::ParseParam |
Parametreleri ayrıştırmak için bu geri aramayı geçersiz kılın. |
Ortak Veri Üyeleri
Veri Akışı Adı | Açıklama |
---|---|
CCommandLineInfo::m_bRunAutomated |
Komut satırı /Automation seçeneğinin bulunduğunu gösterir. |
CCommandLineInfo::m_bRunEmbedded |
Komut satırı /Embedding seçeneğinin bulunduğunu gösterir. |
CCommandLineInfo::m_bShowSplash |
Giriş ekranının gösterilip gösterilmeydiğini gösterir. |
CCommandLineInfo::m_nShellCommand |
İşlenecek kabuk komutunu gösterir. |
CCommandLineInfo::m_strDriverName |
Kabuk komutu Yazdırılacak ise sürücü adını gösterir; aksi takdirde boş olur. |
CCommandLineInfo::m_strFileName |
Açılacak veya yazdırılacak dosya adını gösterir; kabuk komutu Yeni veya DDE ise boş. |
CCommandLineInfo::m_strPortName |
Kabuk komutu Yazdırılacak ise bağlantı noktası adını gösterir; aksi takdirde boş olur. |
CCommandLineInfo::m_strPrinterName |
Kabuk komutu Yazdırılacak ise yazıcı adını gösterir; aksi takdirde boş olur. |
CCommandLineInfo::m_strRestartIdentifier |
Yeniden başlatma yöneticisi uygulamayı yeniden başlattıysa, yeniden başlatma yöneticisinin benzersiz yeniden başlatma tanımlayıcısını gösterir. |
Açıklamalar
MFC uygulaması genellikle kendi uygulama nesnesinin işlevinde bu sınıfın InitInstance
yerel bir örneğini oluşturur. Bu nesne daha sonra nesnesine CWinApp::ParseCommandLine
geçirilir ve bu da nesneyi doldurmak için tekrar tekrar çağrılar ParseParam
CCommandLineInfo
. Ardından CCommandLineInfo
nesnesi, komut satırı bağımsız değişkenlerini ve bayraklarını işlemek için öğesine CWinApp::ProcessShellCommand
geçirilir.
Aşağıdaki komut satırı seçeneklerini ve parametrelerini kapsüllemek için bu nesneyi kullanabilirsiniz:
Komut satırı bağımsız değişkeni | Komut yürütüldü |
---|---|
app | Yeni dosya. |
uygulama dosya adı | Dosyayı açın. |
uygulama /p dosya adı |
Dosyayı varsayılan yazıcıya yazdırın. |
uygulama /pt dosya adı yazıcı sürücüsü bağlantı noktası |
Dosyayı belirtilen yazıcıya yazdırın. |
app /dde |
Başlat ve DDE komutunu bekle. |
app /Automation |
OLE otomasyon sunucusu olarak başlayın. |
app /Embedding |
Katıştırılmış ole öğesini düzenlemek için başlayın. |
app /Register app /Regserver |
Uygulamayı herhangi bir kayıt görevini gerçekleştirmesi için bilgilendirmektedir. |
app /Unregister app /Unregserver |
Uygulamayı kayıt dışı görevleri gerçekleştirmesi için bilgilendirmektedir. |
Diğer bayrakları ve parametre değerlerini işlemek için öğesinden CCommandLineInfo
yeni bir sınıf türetin. Yeni bayrakları işlemek için geçersiz kılın ParseParam
.
Devralma Hiyerarşisi
CCommandLineInfo
Gereksinimler
Üstbilgi: afxwin.h
CCommandLineInfo::CCommandLineInfo
Bu oluşturucu, varsayılan değerlerle bir CCommandLineInfo
nesne oluşturur.
CCommandLineInfo();
Açıklamalar
Varsayılan ayar, giriş ekranını ( ) göstermek ve Dosya menüsünde ( m_bShowSplash=TRUE
=NewFile
m_nShellCommand
) Yeni komutunu yürütmektir.
Uygulama çerçevesi, bu nesnenin veri üyelerini doldurmayı çağırır ParseParam
.
Örnek
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
CCommandLineInfo::m_bRunAutomated
Bayrağın /Automation
komut satırında bulunduğunu gösterir.
BOOL m_bRunAutomated;
Açıklamalar
ise TRUE
, bu bir OLE otomasyon sunucusu olarak başlatma anlamına gelir.
CCommandLineInfo::m_bRunEmbedded
Bayrağın /Embedding
komut satırında bulunduğunu gösterir.
BOOL m_bRunEmbedded;
Açıklamalar
ise TRUE
, bu, katıştırılmış bir OLE öğesini düzenlemek için başlangıç anlamına gelir.
CCommandLineInfo::m_bShowSplash
Giriş ekranının görüntülenmesi gerektiğini gösterir.
BOOL m_bShowSplash;
Açıklamalar
ise TRUE
, bu, bu uygulamanın giriş ekranının başlatma sırasında görüntülenmesi gerektiği anlamına gelir. varsayılan uygulaması ParseParam
, bu veri üyesini TRUE
değerine eşitse m_nShellCommand
CCommandLineInfo::FileNew
olarak ayarlar.
CCommandLineInfo::m_nShellCommand
Uygulamanın bu örneği için kabuk komutunu gösterir.
m_nShellCommand;
Açıklamalar
Bu veri üyesinin türü, sınıfında tanımlanan CCommandLineInfo
aşağıdaki numaralandırılmış türdür.
enum {
FileNew,
FileOpen,
FilePrint,
FilePrintTo,
FileDDE,
AppRegister,
AppUnregister,
RestartByRestartManager,
FileNothing = -1
};
Bu değerlerin kısa bir açıklaması için aşağıdaki listeye bakın.
CCommandLineInfo::FileNew
Komut satırında dosya adı bulunamadığını gösterir.CCommandLineInfo::FileOpen
Komut satırında bir dosya adı bulunduğunu ve komut satırında aşağıdaki bayraklardan hiçbirinin bulunmadığını gösterir:/p
,/pt
,/dde
.CCommandLineInfo::FilePrint
Bayrağın/p
komut satırında bulunduğunu gösterir.CCommandLineInfo::FilePrintTo
Bayrağın/pt
komut satırında bulunduğunu gösterir.CCommandLineInfo::FileDDE
Bayrağın/dde
komut satırında bulunduğunu gösterir.CCommandLineInfo::AppRegister
/Register
Komut satırında veya/Regserver
bayrağının bulunduğunu ve uygulamadan kaydolmasının istendiğini gösterir.CCommandLineInfo::AppUnregister
veya/Unregserver
uygulamasının kaydını kaldırmasının/Unregister
istendiğini gösterir.CCommandLineInfo::RestartByRestartManager
Uygulamanın yeniden başlatma yöneticisi tarafından yeniden başlatıldığını gösterir.CCommandLineInfo::FileNothing
Başlangıçta yeni bir MDI alt penceresinin görüntülenmesini kapatır. Tasarım gereği, Uygulama Sihirbazı tarafından oluşturulan MDI uygulamaları başlangıçta yeni bir alt pencere görüntüler. Bu özelliği kapatmak için, bir uygulama çağırdığındaProcessShellCommand
kabuk komutu olarak kullanabilirCCommandLineInfo::FileNothing
.ProcessShellCommand
tümCWinApp
türetilmiş sınıfları tarafındanInitInstance( )
çağrılır.
Örnek
// 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
Üçüncü bayraksız parametrenin değerini komut satırında depolar.
CString m_strDriverName;
Açıklamalar
Bu parametre genellikle Bir Yazdır kabuğu komutu için yazıcı sürücüsünün adıdır. varsayılan uygulaması ParseParam
, bu veri üyesini yalnızca /pt
komut satırında bayrağı bulunduğunda ayarlar.
CCommandLineInfo::m_strFileName
İlk bayraksız parametrenin değerini komut satırında depolar.
CString m_strFileName;
Açıklamalar
Bu parametre genellikle açılacak dosyanın adıdır.
CCommandLineInfo::m_strPortName
Dördüncü bayraksız parametrenin değerini komut satırında depolar.
CString m_strPortName;
Açıklamalar
Bu parametre genellikle yazdırılacak kabuk komutu için yazıcı bağlantı noktasının adıdır. varsayılan uygulaması ParseParam
, bu veri üyesini yalnızca /pt
komut satırında bayrağı bulunduğunda ayarlar.
CCommandLineInfo::m_strPrinterName
İkinci bayraksız parametrenin değerini komut satırında depolar.
CString m_strPrinterName;
Açıklamalar
Bu parametre genellikle Yazdır kabuğu komutu için yazıcının adıdır. varsayılan uygulaması ParseParam
, bu veri üyesini yalnızca /pt
komut satırında bayrağı bulunduğunda ayarlar.
CCommandLineInfo::m_strRestartIdentifier
Komut satırındaki benzersiz yeniden başlatma tanımlayıcısı.
CString m_strRestartIdentifier;
Açıklamalar
Yeniden başlatma tanımlayıcısı, uygulamanın her örneği için benzersizdir.
Yeniden başlatma yöneticisi uygulamadan çıkar ve uygulamayı yeniden başlatacak şekilde yapılandırılırsa, yeniden başlatma yöneticisi uygulamayı komut satırından yeniden başlatma tanımlayıcısı ile isteğe bağlı bir parametre olarak yürütür. Yeniden başlatma yöneticisi yeniden başlatma tanımlayıcısını kullandığında, uygulama daha önce açık olan belgeleri yeniden açabilir ve otomatik kaydedilen dosyaları kurtarabilir.
CCommandLineInfo::ParseParam
Çerçeve, komut satırından tek tek parametreleri ayrıştırmak/yorumlamak için bu işlevi çağırır. İkinci sürüm yalnızca Unicode projelerindeki ilk sürümden farklıdır.
virtual void ParseParam(
const char* pszParam,
BOOL bFlag,
BOOL bLast);
virtual void ParseParam(
const TCHAR* pszParam,
BOOL bFlag,
BOOL bLast);
Parametreler
pszParam
Parametresi veya bayrağı.
bFlag
Parametre mi yoksa bayrak mı olduğunu pszParam
gösterir.
bLast
Bunun komut satırındaki son parametre veya bayrak olup olmadığını gösterir.
Açıklamalar
CWinApp::ParseCommandLine
komut satırındaki her parametre veya bayrak için bir kez çağrısı ParseParam
yaparak bağımsız değişkenini öğesine pszParam
geçirir. Parametresinin ilk karakteri veya -
/
ise, kaldırılır ve bFlag
olarak TRUE
ayarlanır. Son parametre ayrıştırılırken olarak bLast
ayarlanır TRUE
.
Bu işlevin varsayılan uygulaması aşağıdaki bayrakları tanır: /p
, /pt
, /dde
, /Automation
ve /Embedding
, aşağıdaki tabloda gösterildiği gibi:
Komut satırı bağımsız değişkeni | Komut yürütüldü |
---|---|
app | Yeni dosya. |
uygulama dosya adı | Dosyayı açın. |
uygulama /p dosya adı |
Dosyayı varsayılan yazıcıya yazdırın. |
uygulama /pt dosya adı yazıcı sürücüsü bağlantı noktası |
Dosyayı belirtilen yazıcıya yazdırın. |
app /dde |
Başlat ve DDE komutunu bekle. |
app /Automation |
OLE otomasyon sunucusu olarak başlayın. |
app /Embedding |
Katıştırılmış ole öğesini düzenlemek için başlayın. |
app /Register app /Regserver |
Uygulamayı herhangi bir kayıt görevini gerçekleştirmesi için bilgilendirmektedir. |
app /Unregister app /Unregserver |
Uygulamayı kayıt dışı görevleri gerçekleştirmesi için bilgilendirmektedir. |
Bu bilgiler , m_bRunEmbedded
ve m_nShellCommand
içinde m_bRunAutomated
depolanır. Bayraklar eğik çizgi /
veya kısa çizgiyle -
işaretlenir.
Varsayılan uygulama, ilk bayraksız parametresini içine m_strFileName
yerleştirir. Bayrak söz konusu olduğunda /pt
, varsayılan uygulama ikinci, üçüncü ve dördüncü bayrak olmayan parametreleri m_strPrinterName
sırasıyla , m_strDriverName
ve m_strPortName
içine yerleştirir.
Varsayılan uygulama da yalnızca yeni bir dosya söz konusu olduğunda olarak ayarlır m_bShowSplash
TRUE
. Yeni bir dosya söz konusu olduğunda, kullanıcı uygulamanın kendisini kapsayan bir işlem yaptı. Kabuğu kullanarak mevcut dosyaları açmak da dahil olmak üzere diğer her durumda, kullanıcı eylemi dosyayı doğrudan içerir. Belge merkezli bir bakış açısında, giriş ekranının uygulamanın başladığını duyurması gerekmez.
Diğer bayrak ve parametre değerlerini işlemek için türetilmiş sınıfınızda bu işlevi geçersiz kılın.
Ayrıca bkz.
CObject
Sınıf
Hiyerarşi Grafiği
CWinApp::ParseCommandLine
CWinApp::ProcessShellCommand