-PR-
解決済み

MFCアプリのコマンドラインでパラメータを使用した起動方法

  • すぐに回答を!
  • 質問No.83519
  • 閲覧数4316
  • ありがとう数2
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 55% (163/296)

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

質問者が選んだベストアンサー

  • 回答No.2
レベル6

ベストアンサー率 66% (6/9)

補足です。
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);
}

では^^。
関連するQ&A
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル11

ベストアンサー率 58% (114/195)

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


  • 回答No.3
レベル7

ベストアンサー率 18% (4/22)

((CMyApp*)AfxGetApp())->m_lpCmdLine; を使ってはいけないのでしょうか?
((CMyApp*)AfxGetApp())->m_lpCmdLine;
を使ってはいけないのでしょうか?
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


新大学生・新社会人のパソコンの悩みを解決!

いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ