最新閲覧日:

VisualC++6.0を用いて、ダイアログの2つあるプログラムを
作ったのですが、
2つのダイアログを例えばAさん用、Bさん用として使い分けようと思ったときに
メニューでダイアログをそれぞれ指定して、実行しようと思ったのですが、
Aさん用を親ダイアログにしてしまうと、Bさんは起動時ごとにメニューで
切り替えなければいけなくなりますよね。
それで、切り替えをしなくても良いようにと思って、
コマンドラインからパラメータで「/A」「/B」などとしたときに、Aさん用
Bさん用として、起動させたいのですが、
コマンドラインのパラメータをどこで受け取って処理しているのか
分らないのですが、教えては頂けないでしょうか?
よろしくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

((CMyApp*)AfxGetApp())->m_lpCmdLine;


を使ってはいけないのでしょうか?
    • good
    • 0

補足です。


WinAPPクラスInitInstance関数のなかで、
>CCommandLineInfo cmdInfo;
>ParseCommandLine(cmdInfo);
の記述があればそのあとでパラメータの解析を行います。>>m_lpCmdLineです。

もし、作成中のプロジェクトにこの記述がない
(InitInstance関数がない等の)場合は、
CCommandLineInfoクラスの継承クラスをつくって
仮想関数
virtual void CCommandLineInfo::ParseParam(LPCTSTR lpszParam, BOOL bFlag, BOOL bLast)
を実装しましょう。

たとえば・・・

CWinApp theApp;
using namespace std;


// コマンドライン解析クラス
class CMyClass : public CCommandLineInfo{
public:
virtual void ParseParam(LPCTSTR, BOOL, BOOL);
};

//コマンドラインの個々のパラメータを解析および解釈するために、フレームワークが呼び出します
void CMyClass::ParseParam( LPCTSTR lpszParam, BOOL bFlag, BOOL bLast )
{
CString strTemp = _T(lpszParam); // パラメータ、またはフラグ
return;
}

void
main()
{
CMyClass info;
theApp.ParseCommandLine(info);
}

では^^。
    • good
    • 0

CWinAppクラスのメンバであるLPTSTR m_lpCmdLineがコマンドライン引数ですので


CHogehogeAppクラス(Hogehogeはプロジェクト名と同じ)のm_lpCmdLineメンバにアクセスすればコマンドライン引数を取得する事が出来ると思います
    • good
    • 1

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報