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

No.1
- 回答日時:
CWinAppクラスのメンバであるLPTSTR m_lpCmdLineがコマンドライン引数ですので
CHogehogeAppクラス(Hogehogeはプロジェクト名と同じ)のm_lpCmdLineメンバにアクセスすればコマンドライン引数を取得する事が出来ると思います
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
CStringからchar*への型変換について教えてください。
C言語・C++・C#
-
VC++から引数付きexeファイルの実行
C言語・C++・C#
-
CStringのFindで文字列検索を行いたいのですが
C言語・C++・C#
-
-
4
ボタンの表示の色、フォントを変更したい
C言語・C++・C#
-
5
GetPrivateProfileStringでiniファイル読込む処理を詳しく知りたいのですが・・・
C言語・C++・C#
-
6
CStringの文字列検索&抜き出しについて
C言語・C++・C#
-
7
CFileDialogの最初のディレクトリ設定
C言語・C++・C#
-
8
エディットコントロールのイベントハンドラ
Microsoft ASP
-
9
画面を強制的に再描画させる方法
C言語・C++・C#
-
10
EXEへの引数渡しについて
C言語・C++・C#
-
11
プロセスIDからウィンドウハンドルを取得する方法
C言語・C++・C#
-
12
VC++でコントロールの境界線を描画する方法
C言語・C++・C#
-
13
LIBCMT.LIBをリンクしてコンパイルすると警告が。
C言語・C++・C#
-
14
ラベル(スタティックテキスト)内での改行。
C言語・C++・C#
-
15
文字列の置換をCStringで(C++)
C言語・C++・C#
-
16
特定のプロジェクトを削除するには
Visual Basic(VBA)
-
17
unsigned long long 型のフォーマット指定子
C言語・C++・C#
-
18
VC++スレッドの正しい終了のさせかた
C言語・C++・C#
-
19
CImage GetBitsメソッドについて
C言語・C++・C#
-
20
VC++6.0 MFC GetCommandLine()で取得したコマンドラインをすでに起動しているプログラムに渡す。
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
イベントにAddHandlerされてい...
-
VB.NETでのEnumの使用について
-
ボタンのオーナードローについて
-
既定のコンストラクタがない?
-
[MFC] CWnd::MessageBoxの警告...
-
特定のビューへのポインタ取得...
-
(UWSC) 「#32770」の意味わかり...
-
FriendとPublicの違い。。。
-
DebugクラスとTraceクラスの違い
-
VC++ リストボックスにデータを...
-
C#で定数クラスをシングルトン...
-
DataGridViewのセルに斜線を引...
-
質問です!とても基本的なこと...
-
VC++ 7.1 で メインウィンドウ...
-
【C++】vectorについて
-
関数の呼び出し元の検索
-
【VC++】クラスの追加方法について
-
【ASP.NET】 独自で作成したク...
-
C#で通常のbuttonコントロール...
-
privateなメンバ関数をテストす...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA チェックボックスをオーバ...
-
FriendとPublicの違い。。。
-
イベントにAddHandlerされてい...
-
既定のコンストラクタがない?
-
ダイアログ表示時にチェックボ...
-
(UWSC) 「#32770」の意味わかり...
-
【ASP.NET】 独自で作成したク...
-
エディットコントロールでEnter...
-
クラスのアドレスを引数として...
-
WindowsAPIのリストビューの...
-
エディットコントロールのイベ...
-
MFCアプリのコマンドラインでパ...
-
ボタンのオーナードローについて
-
正規表現 [^/]+ の意味を教えて
-
C++ protectedにアクセス不可
-
このコンパイルエラーの意味に...
-
MFCのドラッグ&ドロップについて
-
C# 別プロジェクトのフォームを...
-
オーバーライド関数の呼び出し...
-
MFCのCListCtrlでスクロールを検出
おすすめ情報