Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Uyarı
Microsoft Foundation Sınıfları (MFC) kitaplığı desteklenmeye devam eder. Ancak artık özellik eklemeyeceğiz veya belgeleri güncelleştirmeyeceğiz.
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::ParseCommandLinegeçirilir ve bu da nesneyi doldurmak için tekrar tekrar çağrılar ParseParamCCommandLineInfo . 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/RegisterApp /Regserver |
Uygulamayı herhangi bir kayıt görevini gerçekleştirmesi için bilgilendirmektedir. |
App/UnregisterApp /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 m_bShowSplash=TRUE menüsündem_nShellCommand=NewFile) 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_nShellCommandCCommandLineInfo::FileNewolarak 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::FileNewKomut satırında dosya adı bulunamadığını gösterir.CCommandLineInfo::FileOpenKomut 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::FilePrintBayrağın/pkomut satırında bulunduğunu gösterir.CCommandLineInfo::FilePrintToBayrağın/ptkomut satırında bulunduğunu gösterir.CCommandLineInfo::FileDDEBayrağın/ddekomut satırında bulunduğunu gösterir.CCommandLineInfo::AppRegister/RegisterKomut satırında veya/Regserverbayrağının bulunduğunu ve uygulamadan kaydolmasının istendiğini gösterir.CCommandLineInfo::AppUnregisterveya/Unregisteruygulamasının kaydını kaldırmasının/Unregserveristendiğini gösterir.CCommandLineInfo::RestartByRestartManagerUygulamanın yeniden başlatma yöneticisi tarafından yeniden başlatıldığını gösterir.CCommandLineInfo::FileNothingBaş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ığındaCCommandLineInfo::FileNothingkabuk komutu olarak kullanabilirProcessShellCommand.ProcessShellCommandtümInitInstance( )türetilmiş sınıfları tarafındanCWinAppç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 pszParamgeçirir. Parametresinin ilk karakteri veya -/ise, kaldırılır ve bFlag olarak TRUEayarlanı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, /Automationve /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/RegisterApp /Regserver |
Uygulamayı herhangi bir kayıt görevini gerçekleştirmesi için bilgilendirmektedir. |
App/UnregisterApp /Unregserver |
Uygulamayı kayıt dışı görevleri gerçekleştirmesi için bilgilendirmektedir. |
Bu bilgiler , m_bRunAutomatedve m_bRunEmbeddediçinde m_nShellCommanddepolanır. Bayraklar eğik çizgi / veya kısa çizgiyle -işaretlenir.
Varsayılan uygulama, ilk bayraksız parametresini içine m_strFileNameyerleştirir. Bayrak söz konusu olduğunda /pt , varsayılan uygulama ikinci, üçüncü ve dördüncü bayrak olmayan parametreleri m_strPrinterNamesırasıyla , m_strDriverNameve m_strPortNameiçine yerleştirir.
Varsayılan uygulama da yalnızca yeni bir dosya söz konusu olduğunda olarak ayarlır m_bShowSplashTRUE . 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