• ベストアンサー

C++ API 全般 APIの概要は

独学にてプログラミングを勉強しているのですが、いきづまってしまったので質問お願いします。 ※Visual Studio 2008 Express Editionsを使用しています。 まだプログラミングに関しての勉強を始めて1ヶ月程度で、最初はVB.NETから始めて、最近C++に乗り換えました。 趣味の範囲でのゲームを作ろうと思っていて、C++とDirectXでの開発を予定しています。(しかし、最終的にはゲームに限らずプログラミングの技術と知識を習得することを目標にしています。)(DirectXに関してはまだ手をつけていません。) まったく1からのスタートで、現在win32コンソールアプリケーションにてコードの勉強をしているところです。 勉強に使っている参考文献は ・VisualC++.NET逆引き大全500の極意 ・ゲームプログラマになる前に覚えて起きたい技術(これを買うには早すぎたようです…。第一章も半分くらいしか理解できません…。) サイトは ・主に「0からのゲームプログラミング」というサイトです。 http://www.plustarnet.com/aspil/Programming/ 本題の質問ですが、APIというものがいまいち理解できません。 (1)上記のような目的で使用するAPIは、標準 Windows APIというものでいいのでしょうか? (2)win32コンソールアプリケーションでは実行できるのに、win32プロジェクトでは実行できないのはなぜでしょうか? #include<windows.h> int WINAPI WinMain( HINSTANCE hInstance , HINSTANCE hPrevInstance , PSTR lpCmdLine , int nCmdShow ) { MessageBox(NULL , TEXT("Hello Wold!") , TEXT("メッセージボックス") , MB_OK); return 0; } (3)http://www.plustarnet.com/aspil/Programming/CConsole.htm このURLのコンソールAPIというのは、一般的に使われているものでしょうか?それともこのサイトのオリジナルのものでしょうか?win32コンソールアプリケーションでAPIを使うには、このURLのCConsoleクラスとうものをインクルードしないといけないのでしょうか?#include<windows.h>と宣言することによって気軽に使いたいものを使うことはできないのでしょうか? (4)#include<windows.h> とした場合、作るものが「win32コンソールアプリケーション」だったり「win32プロジェクト」だったり「windowsフォームアプリケーション」だったりで、使用方法などがまったく別になってしまうのでしょうか? (5)そもそも、上記の目的の場合APIを勉強する必要はあるでしょうか? (6)勉強をしたほうが後々に役立つ場合、どのAPIを勉強するのがいいのでしょうか?(APIといっても様々なものがあるんだなと思い質問しました。もし勘違いでAPIというものは一つしかないとしたらすみません。) なぜAPIに関してかというと、単純に上記のサイトで言語編の一番上から順に見ていったからです。 初心者すぎて質問が的外れかもしれませんがよろしくお願いします。

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

  • ベストアンサー
  • BLK314
  • ベストアンサー率55% (84/152)
回答No.4

まず"API"というものそのものについてわかっておられないようです。 現在のプログラミングは非常に複雑化してきました。 また、(特にプロフェッショナルな場合)納期も短期化してきています。 そんなわけで、プログラミングも一から全て作るのは非現実的な状態です。 誰かの作ってくれたものを利用する場面が非常に多くなりつつあります。 (並行して開発する場合も多くあります) その際、 どのような物(関数でも良いし、クラスとかでも良い)をどうやって (パラメータとか呼び出し順序とか) 使うか を定めておかないと、利用しようにも利用できませんよね。 この定めた規約のことをAPIと呼びます。 Windowsには ・ファイルを操作する関数 ・画面にグラフィックを描画する関数 等々様々なものが提供されています。 たとえば、ファイルを操作するには CreateFileで開き、ReadFileで読み込み、WriteFileで書き込み CloseHandleで閉じる という手順が定められています。 この規約は”Win32API”と呼ばれます。 CreateFileなどWin32で定められた個々の関数は Win32API関数 と呼ばれます。 Windows上で動くプログラムは基本的には Win32APIを利用します。 しかし、Win32APIには色々不便な点も多く、 それを補うものが作られてきました。 DirectXもその一例です。 もちろん、DirectXも(ごみではなく)"利用される"ために作られたものですので Win32API同様、利用するための規格(API)があります。 Direct X APIと呼ばれたりします。 ですから (1)はWin32APIです (2)は明らかに逆です。    Win32プロジェクトとは通常のEXEの他にDLL(EXEのための部品です。単独では動きません)など様々な開発を行えます。コンソール専用ではないので、 コンソール用の設定がされていません。したがって、コンソールのソースを持ってきただけでは動作するようになりません。 (自分でプロジェクトの設定を行えばコンソールアプリになります) (3)についてはそのサイト専用です ピンク色の部分をコピーしてConsole.hという名称で保存してください。 そして#include "Consol.h" すれば自動的にWindows.hも取り込まれます。 別途Windows.hを取り込む必要はありませんし Windows.hで定義されているものは自由に使えます (4)win32コンソールアプリケーションとWindoiws プロジェクトの違いについては 先に述べましたので省略します。 "Windows フォームアプリケーション"とは ".NET (ドット ネット)"という新しい技術に基づくものです。 今までのWin32APIとは別物です。 当然APIも異なります。 原則的にはWin32APIは利用できません。 (C++/CLIという方法で利用できますが、それなりの設定が必要です) (5) 目的に合ったAPIを勉強する必要があります。 先ほどものべましたが".NET"を使うには Win32APIとは別の知識が必要です。 逆に、".NET"の知識しかない場合、Win32コンソールアプリは作れませんので Win32APIを勉強しなくてはなりません。 もっとも、これは厳密な言い方ではありません。 Cの標準関数で収まる範囲であれば、Win32APIの知識は不要です。 (6) 既に述べています。 APIはたくさんあります。 あなたも、たとえばWin32プロジェクトでDLLを作成する場合、 どのように利用するかを考えてAPIを定める必要があります。

3104kita
質問者

お礼

(2)に関しては完全に勘違いです。おっしゃるとおり逆でした。すみません。 的確で大変詳しい回答とても参考になりました。 しかし回答の中で気になったのが、購入したC++.NETの本は、質問で述べたような目的(※1)の場合、少し的外れなものになってしまうのでしょうか? また、これからは、基本的なコードの勉強を並行しながらAPIとDirectXの勉強。ということでとりあえずは間違いはないでしょうか?他に、 「先にこういう分野も勉強したほうがいい」というものはありますでしょうか? ※1)趣味の範囲でのゲームを作ろうと思っていて、C++とDirectXでの開発を予定しています。(しかし、最終的にはゲームに限らずプログラミングの技術と知識を習得することを目標にしています。)(DirectXに関してはまだ手をつけていません。)

その他の回答 (5)

  • chie65535
  • ベストアンサー率43% (8481/19299)
回答No.6

(2)に関して。 「win32コンソールアプリケーション」とは、簡単に言えば「コマンドプロンプト上で動く物」の事です。 一般的に「コンソール」とは「入出力端末」の事を指し、キーボードでの文字入力とモニターでの文字表示が出来る装置の事を言います。 で「モニターに、固定のフォントで固定の位置に固定の大きさで決まった文字しか表示出来なかった時代」には「コンソールで入出力するのが標準」だったのです。つまり「GUI(グラフィカル・ユーザー・インタフェース)が無かった時代」です。もちろん、マウスもありません。 この当時のコンピュータは、グラフィック表示機能が無くて(あっても高価なオプション)、画面表示のスペックは「半角英数で80桁25行」とか「全角で40桁25行」とか「モノクロ表示時は80桁25行、カラー表示時は80桁20行」とかって仕様になってました。 そして、C言語は「コンソールで入出力するのが標準だった時代に考案された」ので「コンソールでの入出力を標準的にサポートしている」のが普通でした。 その為、伝統的にライブラリに「標準入力(キーボードの事)」と「標準出力(文字ベースのモニター表示の事)」を扱う関数が用意されています。 C言語の教本で良く見かける「scanf関数」とか「printf関数」とかが、これにあたります。 これら「標準入出力関数」を用いた場合、出来上がったプログラムは「コンソールが存在する環境」ででしか動きません。 言い換えれば「キーボード」と「文字ベースでの表示装置」が必須となります。 このように「コンソールが存在する環境で動くプログラム」のうち、32/64ビット版Windows(Windows95以降)用の管理下で動く物を「win32コンソールアプリケーション」と呼びます。 単に「コンソールアプリケーション」と言ってしまうと、動作環境がLinuxだったりUnixだったりMacOSだったりするかも知れないので「Win95以降のWindowsのコマンドプロンプト上で動く物に限定する場合に、win32コンソールアプリケーションと呼ぶ」のです。 どうして「windowsコンソールアプリケーション」でなくて「win32コンソールアプリケーション」言うかと言うと「16ビットCPU時代にも、Windows3.1と言う物があり、それは除外される」からです。 単に「windows」って言ってしまうと「windows95以前の、古いwindows3.1なども含まれてしまう」ので「32ビット時代になってからのwindows以降」と言う意味で「win32」という単語を頭に載せている訳です。 そして、こういう「コンソールアプリケーション」は「GUI(グラフィカル・ユーザー・インタフェース)を持っていない」ので、ウィンドゥを開いたり表示したりするAPI関数は呼び出せません。 なので、win32コンソールアプリケーションは、ダイアログボックス(つまり、ウィンドゥ)を開くAPI関数である「MessageBox関数」は使えないのです。 使えないのですから、実行出来なくて当たり前ですね。 なお、すべてのAPI関数が使えない訳ではないので「GUI(グラフィカル・ユーザー・インタフェース)に関わりの無いAPI関数」は呼び出す事が可能です(例えば、ファイルをオープンするAPI関数など)

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.5

大体の結論は出ているようなのでWin32APIについてだけ。 Windowsでプログラムする場合はゲームにしてもアプリにしてもOS自体の知識が不可欠です。なので、まずOSと絡めたAPIの理解をお勧めします。 参考図書↓ http://itpro.nikkeibp.co.jp/article/MAG/20061218/257206/?ST=develop どんなAPIをどんな時に使うのかWindowsってどんな仕組みで動いているのかの概要がつかめます。 C言語ですが、APIの入門サイトです。 http://wisdom.sakura.ne.jp/system/winapi/index.html 「Windowsゲームプログラミング」の本はDirectXを使わない珍しい本ですが、APIとゲームプログラミングの基礎を学べると思います。 「猫でもわかる」シリーズもAPIのサイトと本で有名です。 http://www.kumei.ne.jp/c_lang/ 「Windows SDK編」がWin32APIを中心に書かれています。MFCを使っていないので、MFCが使えないVisual Studio 2008 Express Editionでも問題なく使えます。 ちなみにMFCを使うためには有料のVisualStudioを購入する必要があります。 以上ですが、参考になれば幸いです。

  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.3

APIとは、「Application Program Interface」の略で、 「アプリケーションがOSの機能を使う方法」を示す一般名詞です。 Microsoft の Windows では、「Windows API」もしくは「Win32 API」と呼ばれるAPIに基づいて、OSの提供する各機能を利用できます。 OSが提供する機能の話であり、使用する言語などには因りませんので、 Windows 用のプログラムを作るのであれば、C++だろうがC#だろうが、 最終的には必ず「Windows API」を通してOSの機能を呼び出すことになります。 Windows API は、そういった汎用性がある代わりに、使い勝手はそれほど良いものではありませんので、 各種言語環境では、APIをより手軽に使えるようなライブラリが用意されている場合が多いです。Visual C++ には、MFC と呼ばれるものがあります。 ((3)のCConsole も、そのサイトの記述者が独自に作成した、「APIをより簡単に使うためのライブラリ」でしょうね。) MFC などのクラスライブラリを使えば、素のAPIを使うより簡単にプログラムを組めるので、 C++ Windows のプログラムを組む場合は、MFC を使う方がいいでしょう。 ただし、MFC は Windows API を C++ にしただけなので、Windows API の知識があった方が、より MFC の理解がしやすいです。そういう点では、MFCを使う場合でもWindows API の勉強をするのは悪くないと思います。

3104kita
質問者

お礼

余裕があればMFCも取り入れてみたいと思います。 しかし、Windows APIの知識があったほうがより理解しやすいとのことなので、まずはAPIから触れてみようと思います。 回答ありがとうございました。

回答No.2

 こんばんは。 (1)windows側が提供している関数の事です。 (2)実行出来る筈です。其のままで実行できないのはwin32コンソールアプリケーションの方ではないでしょうか。  実行出来なかった方で、以下の様にして見ては如何でしょう。 int main(void) { MessageBox(NULL , TEXT("Hello Wold!"), TEXT("メッセージボックス") , MB_OK); return 0; } (3)コンソールウィンドウと言うのはwin32コンソールアプリケーションで出てくる黒いウィンドウの事です(着色出来る見たいです)。  当方は殆ど使用した事が無いのですが、コンソールAPIはコンソールウィンドウに対して操作を仕掛ける為のAPIです。  CConsoleと言うクラス自体は、そのサイトの人が書いたものだと思います。  実際にクラス内でコンソールウィンドウに対してコンソールAPIで操作を仕掛けています。 (4)win32コンソールアプリケーションはprintf()やfread()/fwrite()と言った標準C言語関数を使用します。  http://ja.wikipedia.org/wiki/%E6%A8%99%E6%BA%96C%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA  但し、win32コンソールアプリケーションからでもCreateWindowEx()の様なAPIを呼び出して自前のウィンドウを開く事も出来ます。  win32プロジェクトはwin32APIの塊であるウィンドウアプリケーションやDLL等を作成する時に選択されます。  windowsフォームアプリケーションは買った書籍の通りVisualC++.NETの事です。C++/CLIと言う言語で扱います。  何れもwin32APIを使用する事が可能です。 (5)あると思います。結局の所、ウィンドウを広げる事は宿命の様な物です。 (6)ウィンドウ関連、描画関連辺りでしょうかねぇ。 ・VisualC++.NET逆引き大全500の極意  此れと同系列でVisualC++逆引き大全500の極意と言う書籍が結構前に出ていました。win32APIに比重を入れている書籍です。

3104kita
質問者

お礼

(2)に関しては完全に勘違いです。おっしゃるとおり逆でした。すみません。 "標準Cライブラリ"で検索すればウィキペディアで詳しくのっているのですね。大変参考になり、助かりました。 VisualC++逆引き大全500の極意もちょっとみてみます。 回答ありがとうございました。

回答No.1

(1)Windowsの関連機能を操作するために用意されたライブラリだと思ってください。自分は“Win32 API”と呼ぶことが多いです。 (2)ぱっと見た感じ、逆ではないですか? (3)しなくてよいです。 (4)Win32としては同じものを使えます。 (5)マウス・キーボードの入力を受け取ったり、ディレクトリの操作を行ったり、処理を並列化したり等、特にGUIにしたい場合は必要不可欠なものです。実際、書ききれない程、多彩なものです。 (6)どういう機能を付加したいかによります。例えば、ファイルの削除が行いたいなら、“win32 ファイル操作”とかで検索して調べます。ヒットしたDeleteFileとかで再検索したりして用法も調べます。個人的には、ファイル操作あたりが簡単で調べ易いかと思います。基本的にMSDN ライブラリを使って調べますが、書店に沢山出版されている本を立ち読みして、どういう事が出来るのかを知る事が良いと思います。 最初は、一冊本を買って、興味あるものを真似て実装してを繰り返すのが近道です。

3104kita
質問者

お礼

(2)に関しては完全に勘違いです。おっしゃるとおり逆でした。すみません。 まずは本屋での立ち読みをして大まかなことを把握してみたいと思います。 回答ありがとうございました。

関連するQ&A

  • Win32APIのゲームやアニメーションについての書籍

     Win32APIでゲーム(もぐらたたき)を作りたいのですが、Win32APIでゲームを扱っている書籍が少ないような気がします。(テトリスは多いですが)  もう一つ、DirectXでは画像やアニメーションの本はたくさんありますが、Win32APIではアニメーションの作り方について、多数しかも手取り足取り載っているのが見当たらないです。特にビットマップエディタの使い方がよく分からなくて困っています。Visual Studio 2005のVisual C++を使っています。  ちなみに今まで「Windowsゲームプログラミング 赤坂玲音著」で勉強して、ちょこちょこサイトでアニメーションを勉強しましたが、自分でアニメーションを作ろうと思うとあまりに情報不足な状態です。  Win32APIのゲームやアニメーションについての書籍やサイトがあれば教えていただけたら嬉しいです。

  • C言語でWin32API

    C言語を使ってWin32APIを呼び出すような、Windowsプログラミングを始めたいんですが、何かよい本やサイトはご存知ないでしょうか。 Visual C++6.0はあるんで、それを使えばいいと思うんです。 C言語はわかるんですが、Windowsプログラミングに関する知識はほとんどないので、ごく基本的なことから知りたいんです。 WinMain関数というのを書くようなんですが、その書き方すら知りません。  スケルトン(出来れば、それよりもっと基本的なこと)から書いてあるようなものです。

  • VC++でwin32APIを作っているのですが・・・

    こんにちは。私はwin32APIを勉強しているc言語初心者です。 私はMicrosoft Visual C++ 2008を使ってc言語のwin32APIをプログラミングしているのですが、独学でやっているので物凄く邪道なwin32APIプログラミングをしているような気がするのです。 ・c言語のプログラムを書いて、C++のwin32APIプロジェクトとしてビルドする。 ・ヘッダーファイルにwin32API関数がなかったので、自分のwindowOSからwin32API関数を探し出してVC++2008のなかのincludeフォルダ内にコピー&ペーストして使えるようにした。 これって邪道ですか?一応何の問題もなくwin32APIプログラムが作れるのですが、もっと正規なやり方があるでしょうか。回答よろしくお願いします。

  • DirectXやWin32API (2Dゲーム作りたいです)

    こんにちは,私は2D(最終的には3D(メインは2D))のゲームを C++,DirectX を利用して作りたいと思っています.  今のところ,プログラミングはC,C++は入門+α, ゲーム関係は『ゲームプログラマになる前に覚えておきたい技術』という本の2D分野を読み実習しました.このゲームの本はDirectXやWin32APIなどを利用せずに,なにやらライブラリなどを用意していてそれを利用する形でした. -- 質問 --  DirectX や Win32API を全然わからないという このくらいの知識の人が本格的に2Dゲームをだんだんと作って行きたいのですが,このそれぞれに対してなにかよい参考書はないでしょうか,またその理由などもいただきたいです. --気になること-- 以下あいまいな知識の質問です. ・最近(DirectX7以降かな)はDirectXは2D描写と3D描写の機能が合体したと聞きました,DirectXの参考書は3Dのばかりで3Dも学べていいのですが,2Dゲームが作れるDirectXの内容も詳しく含んだ参考書が欲しいです. ・Win32APIはゲーム製作にどう影響してくるんですか?まだよくわかっていません.ゲームウィンドウなどを表示するのは必用そうですが,, サウンドやグラフィックを読み込むのに必須なのだろうか, でもそれはDirectXでもできませんか?関係がよくわかりません. --まとめ-- できれば 気になること の回答など簡単にしていただきたいです.  長文ここまで読んでいただきありがとうございました. よろしくお願いします.

  • C++とWIN32APIとゲームプログラミング

    WINDOWSで動くゲームを作りたくて3日ほど前からC++の勉強を始めました。 (最終的にはグラディウスのような横スクロールシューティングが作りたいです。) そこで質問なんですが 1、Win32APIについて調べるとC言語を使っての入門サイトばかりがヒットします。 Win32APIはC言語で書くものなんでしょうか? そうなってくると今WindowsのGUIアプリを作るのにC++を勉強していますが無駄ってことでしょうか? 例: 猫でもわかるプログラミング http://www.kumei.ne.jp/c_lang/index.html Win32API入門 http://wisdom.sakura.ne.jp/system/winapi/win32/index.html ちなみに今学習に利用しているサイトは以下のサイトです。 C++入門 http://www.asahi-net.or.jp/~yf8k-kbys/newcpp0.html 2、ポインタの概念について ポインタのイメージですが値を格納している場所みたいな感じで大方あってますでしょうか? 僕は組み込み系をやっているのでアセンブラにどっぷり漬かっています。 なんていうかレジスタの番地がポインタに該当するのかなって思っています。 ↓みたいなイメージで考えています。 ポインタ=データの場所=レジスタ番地 これであってますか? 3、まだGUIには進んでませんがウインドウのメニュー(ファイル、編集等)を作るのにリソースファイルも作るって説明が上記ページ(猫でもわかる)に書いてましたがリソーススクリプトとかヘッダーもプログラム言語とは別に勉強する必要があるんでしょうか? 4、C++のクラス概念について クラスとは複数の関数をひとまとめにしてグループ管理(おおざっぱに言うとサブルーチンの集まり的な)するようなものってイメージであってますか? 5、WindowのGUIアプリのプログラムの概要ですが各オブジェクト(ウインドウやボタン、マウスポインタ等)に対して「クリックされた」とかのアクションに対して動作するプログラムを書くって事でいいんでしょうか? 6、お勧めの参考書籍について 今までアセンブラをはじめPerlやJavaScript、C言語のお勧め入門書をいろんなサイトのレビューを見て買いましたが本よりネットの入門サイトのほうがかなり役にたってきました。それでも入門書を買うのは気持ち的に安心するからなんですが・・・ それを踏まえた上で僕の最終的な目的にあうような本があったら是非教えてください。 7、勉強の進め方や「合わせてこれも勉強しろ」っていう項目があれば教えてください。 現状としては 「C++の基礎(必要ですか?)」→「Win32API」→「DirectX」で行こうと思っています。

  • IP Helper APIを使うとエラーが発生する

    プログラミング初心者です。 Visal Studio 2010を使用してC++の勉強をしています。 http://www.geekpage.jp/programming/iphlpapi/interface-info.php 上の記事を参考にIP Helper APIのプログラミングを試してみたのですが、エラーが出てしまいコンパイルできません。 「Windows.hをインクルードすると良い」という記事を見つけて試しましたが、同様のエラーが出るだけでした。 //コード------------ #include "stdafx.h" #include <WinSock2.h> #include <IPHlpApi.h> #include <Windows.h> int _tmain(int argc, _TCHAR* argv[]) { PIP_INTERFACE_INFO pInfo = NULL; ULONG ulOutBufLen = 0; DWORD dwRetVal = 0; /* 変数ulOutBufLenに必要なサイズを取得 */ if( GetInterfaceInfo(NULL, &ulOutBufLen)==ERROR_INSUFFICIENT_BUFFER ){ pInfo = (IP_INTERFACE_INFO *)malloc(ulOutBufLen); } return 0; } //実行結果---------- error LNK1120: 外部参照 1 が未解決です。 R:\Programming\VisualStudio2010\Projects\IPHLPAPIの利用\Debug\IPHLPAPIの利用.exe IPHLPAPIの利用 error LNK2001: 外部シンボル "_GetInterfaceInfo@8" は未解決です。 R:\Programming\VisualStudio2010\Projects\IPHLPAPIの利用\IPHLPAPIの利用\IPHLPAPIの利用.obj IPHLPAPIの利用 //------------------ ちなみに、main内の5行目「GetInterfaceInfo」は「IPHlpApi.h」内にちゃんと存在しています。 以上になります。長文お読みいただきありがとうございました。 色々検索してみましたがお手上げ状態です・・・よろしくお願いいたします。

  • windowsで動くゲームやソフトを作る際に使う言語についての質問です

    windowsで動くゲームやソフトを作る際に使う言語についての質問です。 windowsで動くゲームやソフトを作るために勉強しています。 C、C++、C#のコンソールアプリは作れるようにはなりました。 ここから何に進めばいいか助言をいただきたいのですが、まずゲームを作るとなるとDirectXを覚える必要があると考えるのですが、 1、C++/directXを勉強するか、C#/mangedDirextXかC#/XNAか、どれで開発するのが効率が良いのでしょうか?それほど大規模なゲームをつくろうとは考えていません。簡単なシューティングゲームとかを作ろうと考えています。 2、DirectXを使うにあたってWindows APIも簡単に勉強しておいたほうが良いと聞いたのですが、どうでしょうか? 3、それ以前の話なんですが、当方Windows SDKとはWindows APIを扱うための開発キットだと認識しているのですが、WisdomSoftさんのサイトの説明 http://wisdom.sakura.ne.jp/system/winapi/index.html と、猫でもわかるプログラミングさんのサイトでの解説 http://www.kumei.ne.jp/c_lang/index_sdk.html はどう違うのでしょうか? ご存知の方がいらっしゃればご教授お願いします。

  • C++BuilderでHelloWorld

     『プログラミングWindows』に載っている以下のコードをC++Builder6で実行するにはどうすればいいですか? #include <windows.h> int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { MessageBox(NULL, TEXT("Hello, Windows 98!"), TEXT("HelloMsg"), 0); return 0; }

  • C、C++でもぐらたたき

     C→C++を少し→Win32APIと学習してきました。 もぐらたたき(2D)を作りたいのですがWinAPIでも作れるのでしょうか?それともDirectXなどを使わないといけないでしょうか? いまいち分からないのですが、Win32APIで作れるゲームとDirectXで作れるゲームにはどんな違いがあるのでしょうか?3Dが作れることだけでしょうか?教えていただければ嬉しいです。

  • VCでバッチソフト

    勉強でWindowsで動くテキストを加工するツールを作成したいのですが、 一瞬黒い画面が現れるので、 Visual C++ → Win32 → Win32コンソールアプリケーション → コンソールアプリケーション → 空のプロジェクトではなく Visual C++ → Win32 → Win32コンソールアプリケーション → Windowsアプリケーション → 空のプロジェクトで合っていますよね。 int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR pCmdLine, int showCmd) を宣言するのですが、引数はどうやって渡すのですか? またお勧めのVCでC言語を勉強できる本があれば教えてください。