Ich verwende Visual C++ 2008 Professional.
Ich möchte Kommandozeilen in meinem Programm abfangen.
Dazu wurde die Merthode InitInstance der App-Klasse wie folgt angepasst:
Die Klasse CKommandozeile existiert.
Datei kommandozeile.h:
Datei kommandozeile.cpp
Laut Debugger wird in der Zeile CMeineKommandozeile cmdInfo; der Konstruktor der Klasse CMeineKommandozeile aufgerufen.
Ein Aufruf der Methode CMeineKommandozeile::ParseParam() erfolgt leider nicht.
Diese hätte aber bei ParseCommandLine(cmdInfo); aufgerufen werden sollen. Tut es aber nicht.
Was muss geändert werden, damit CMeineKommandozeile::ParseParam() verwendet wird?
Danke
Ich möchte Kommandozeilen in meinem Programm abfangen.
Dazu wurde die Merthode InitInstance der App-Klasse wie folgt angepasst:
Code:
BOOL CKommandozeileApp::InitInstance() { ... //CCommandLineInfo cmdInfo; CMeineKommandozeile cmdInfo; ParseCommandLine(cmdInfo); ... // Das einzige Fenster ist initialisiert und kann jetzt angezeigt und aktualisiert werden. //m_pMainWnd->ShowWindow(SW_SHOW); m_pMainWnd->ShowWindow(m_nCmdShow); m_pMainWnd->UpdateWindow(); ... }
Datei kommandozeile.h:
Code:
#pragma once #include "afxwin.h" class CMeineKommandozeile : public CCommandLineInfo { public: CMeineKommandozeile(void); ~CMeineKommandozeile(void); virtual void ParseParam(const char* pszParam, BOOL bFlag, BOOL bLast); };
Code:
#include "StdAfx.h" #include "MeineKommandozeile.h" CMeineKommandozeile::CMeineKommandozeile(void) { } CMeineKommandozeile::~CMeineKommandozeile(void) { } void CMeineKommandozeile::ParseParam(const char* pszParam, BOOL bFlag, BOOL bLast) { if(lstrcmpA(pszParam,"min")==0) AfxGetApp()->m_nCmdShow=SW_SHOWMINIMIZED; else if(lstrcmpA(pszParam,"max")==0) AfxGetApp()->m_nCmdShow=SW_SHOWMAXIMIZED; CCommandLineInfo::ParseParam(pszParam, bFlag, bLast); }
Ein Aufruf der Methode CMeineKommandozeile::ParseParam() erfolgt leider nicht.
Diese hätte aber bei ParseCommandLine(cmdInfo); aufgerufen werden sollen. Tut es aber nicht.
Was muss geändert werden, damit CMeineKommandozeile::ParseParam() verwendet wird?
Danke
Comment