No.1
- 回答日時:
WINAPIで始まるメインループとは
http://www.doumo.jp/postgretips/tips.jsp?tips=13
とかの事をいっているのですか?
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow )
のLPSTR lpCmdLineに引数がはいっています。
LPSTRとは文字列(char*)のことです。
参考URL:http://www.doumo.jp/postgretips/tips.jsp?tips=13
この回答への補足
回答有難う御座います。
問題となっているWINAPIから始まるメインループとは、
int WINAPI WinMain(
HINSTANCE hInstance ,
HINSTANCE hPrevInstance ,
LPSTR lpCmdLine ,
int nCmdShow )
の事を指します。
アプリケーション作製で、上記のメインループは『決り文句』と言う感覚で使っていたのですが、やはりどう言う動きをしているのか凄く気になったので質問しましたw
えと、今までのコンソールプログラムのように、簡単に扱え無かったので、引数から取った文字列を画面に表示すると言ったサンプルソースを載せて頂けると大変助かります。_| ̄|○
No.2
- 回答日時:
GetCommandLine
現在のプロセスのコマンドライン文字列へのポインタを取得します。
LPTSTR GetCommandLine(VOID)
プログラム名も欲しければ、GetCommandLine()で取得。
WinMainの第3引数はプログラム名を含みません。
GetCommandLine()は関数なので、WinMain関数外でも
使用できます。
LPTSTR は、Unicode環境でコンパイルした場合、wchar_t* 型、それ以外の場合、char* 型です。
試してみた結果、ちゃんと値が得られました。
まさか、こんな簡単な事で得られるとは……脱帽しました。
Borland C++のコンパイラなので、Unicode環境かどうかが不明でしたが、char*での習得が出来たので、結果オーライでしたw
No.3ベストアンサー
- 回答日時:
コンパイラを選ぶかもしれませんが、グローバル変数 _argc, _argv が、コンソールアプリの場合の main 関数の引数 argc と argv と同じように使えます。
プログラム起動時の引数の与え方は、コンソールアプリと同じです。ショートカットを作成して引数を与える方法もあります。
WINAPIは__stdcallのことなので、ウィンドウズアプリケーション/コンソールアプリケーション と使い分けるのがわかりやすいです。
えと、試してビックリしました。
まさか、こんなに簡単に解決出来ちゃうとは、思ってもいませんでした。((;゜Д゜)
> WINAPIは__stdcallのことなので、ウィンドウズアプリケーション/コンソールアプリケーション と使い分けるのがわかりやすいです。
えと、コレの意味が分かり辛いので、補足していただけると助かります。
No.4
- 回答日時:
>文字列を画面に表示すると言ったサンプルソースを載せ
>て頂けると大変助かります。
なにがわからないのでしょうか・・・
int WINAPI WinMain( HINSTANCE hInstance ,HINSTANCE hPrevInstance ,LPSTR lpCmdLine ,int nCmdShow ){
MessageBox(NULL,lpCmdLine ,lpCmdLine ,MB_OK);
return 0;
}
これでメッセージボックスがでます。
#1さんのURLにでているコードが一番簡単なmainループです。
そのコードの
case WM_DESTROY:の上に
case WM_PAINT:
{
HDC hdc = GetDC(hWnd);
TextOut(hdc , 0 , 0 , "hello world", lstrlen("hello world"));
ReleaseDC(hWnd, hdc);
}
break;
とでもいれればhello worldとウインドウに表示されます。
試した所、ちゃんと引数が得られました。
解らなかった所としては、LPSTRが構造体だったと言う所と、lpCmdLineが何をどんな形を持っているかとかでした。
この回答を見て、解決いたしました。
お手数掛けました。_| ̄|○
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- C言語・C++・C# c言語 コマンドライン引数 4 2023/02/09 18:47
- その他(プログラミング・Web制作) どういうプログラムで組みますか?google colabでやってるんですけど、出来る方お願いします。 1 2022/07/06 09:28
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 17:49
- その他(プログラミング・Web制作) どういうプログラムで組みますか?google colabでやってるんですけど、出来る方お願いします。 1 2022/07/17 18:41
- JavaScript カラーミーショップのsectionループ内で、[引数][戻り値]ありの関数的な処理を行いたいです。 1 2022/05/07 19:39
- C言語・C++・C# 関数ポインタの高速化のメリット 7 2023/05/05 20:15
- C言語・C++・C# C言語 3 2022/10/04 15:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
For文の終了値を関数にしても問...
-
break文でループを一気に抜ける...
-
Excel VBAで年度をまたぐ期間の...
-
ループを途中で抜けたいのですが。
-
do-while文が禁止される理由
-
__asm int 3でのブレイクポイン...
-
C言語forループが完結した場合...
-
C言語に関する質問
-
While文の終わりにセミコロンが...
-
if文の中にfor文なのか、for文...
-
Cプログラムが終了しない
-
無限ループ対策
-
独習C 素数テスタ・・・分から...
-
入力した数値を倍々するプログラム
-
エクセルVBAで Do While (1)って?
-
入力した文字列から母音だけを...
-
他言語で言うcontinue文
-
繰り返し文の利点について
-
桁数を求めるプログラム。
-
H8/3048マイコンAD/DA変換について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
break文でループを一気に抜ける...
-
do-while文が禁止される理由
-
ループを途中で抜けたいのですが。
-
入力した数値を倍々するプログラム
-
入力した文字列から母音だけを...
-
if文の中にfor文なのか、for文...
-
C言語forループが完結した場合...
-
エクセルでC言語のfor文と同じ...
-
Excel VBAで年度をまたぐ期間の...
-
For文の終了値を関数にしても問...
-
エクセルVBAで Do While (1)って?
-
C言語、whileループを抜け出す...
-
PAD図の書き方
-
Cプログラムが終了しない
-
PIC のプログラムについて ど...
-
他言語で言うcontinue文
-
C言語のプログラムみてください...
-
ループの特定入力終了
-
COBOLのEVALUATE文
-
for文while文の無限ループの違...
おすすめ情報