• ベストアンサー
  • 暇なときにでも

C言語でWin32API

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

noname#2293
noname#2293

共感・応援の気持ちを伝えよう!

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

  • ベストアンサー
  • 回答No.3

Visual C++(1)「はじめてのWindowsプログラミング」 (全3巻) をお勧めします。 ISBN4-88135-821-9 (1)ではAppWizardやMFCを一切使わない方法(WinMainから記述)で プログラミングの説明をしてあるので はじめての方でもVC++の構造がよくわかります。 ちなみに (2)はオブジェクト指向 (3)はMFCを扱っています。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答の Visual C++(1)「はじめてのWindowsプログラミング」(山本信雄 著、翔泳社) 買いました。 私にとってはこれが一番あってそうなので、これに沿って勉強しようと思います。

その他の回答 (3)

  • 回答No.4
  • gimmick
  • ベストアンサー率49% (134/270)

やはり「猫でもわかるプログラミング」が有名ですね。それから、参考URLの「Win32 API入門」もかなり詳しく解説されています。一度目を通されてはどうでしょか。

参考URL:
http://black.sakura.ne.jp/~third/win.html

共感・感謝の気持ちを伝えよう!

質問者からのお礼

参考URL見てみました。 かなり詳しく書いてありますね。

  • 回答No.2
  • nubou
  • ベストアンサー率22% (116/506)

Win32APIを呼び出すような、Windowsプログラミングを始めたいんですが: MFCを使わない理由は何ですか?

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答ありがとうございます。 すみませんが、MFCというのもよくしらないので、うまく説明できません。

  • 回答No.1
noname#4320
noname#4320

こんにちは。 下記URLの、C/C++プログラマのためのWindows95プログラミングが良いのでは。 http://www.seshop.com/detail.asp?pid=1195 WinXP時代ですが、この本はWindowsプログラミングの「初めの一歩」として 購入の価値はあると思います。(ぶあつくない適量だし) Webサイトでは、猫でもわかるプログラミング http://www.kumei.ne.jp/c_lang/ が有名だと思いますが、気合をいれて勉強したいのではれば、やはり前述の 書籍をお勧めします。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

結構気合が入っているし、参考になりそうなので、 『C/C++プログラマのためのWindows95プログラミング』 買いました。

関連するQ&A

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

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

  • プログラミング言語のAPI

    プログラミング言語の『API』にあたるものって具体的には何なのでしょうか? 例えば,C言語の場合『API』にあたるのはprintfやscanfなどの『標準関数全体』という解釈で合っているのでしょうか? また,ライブラリとAPIの関係についても教えていただけると嬉しいです. 読んだ本の中で少し触れられていたのですが,表現が曖昧であまりよく分かりませんでした・・・.

  • APIはプログラミング言語?

    基本的な事がわからないので教えていただきたいのですが APIと言うのは、Parlやjavaのような 「プログラミング言語」なのでしょうか? そして、APIを理解することで windowsプログラミングと言うのができるのでしょうか?

  • 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に関してかというと、単純に上記のサイトで言語編の一番上から順に見ていったからです。 初心者すぎて質問が的外れかもしれませんがよろしくお願いします。

  • 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」で行こうと思っています。

  • C#プログラミングに役立つAPIの本???

    もっぱらC#を使用しています C言語のプログラム遺産の活用等には全く縁の無い私です だから今後もC#だけで行こうと思っております VC++などに移る気などサラサラありません それ故に、念のために ・・・・・ 実は内心では心配だから、APIだけは勉強しておこうと思って教科書を探しました 日経ソストウエアが出版している『APIで学ぶWINDOWS』¥2095を購入しましたが的外れ! ウインドウズの解説本でありプログラミングには役立ちません 更にC#プログラミングに役立つAPIの本を探したのですが、適当なものが見つかりません ご存知でしたら教えてください、お願い申し上げます

  • Visual Studio関連でAPIを使った学習方法は効率的でしょうか。

    C++の勉強をしようと思い、Visual C++ 2005 Express Edition を使って勉強しています。 本屋さんに行くと古めの本には、windowsプログラムはAPI関数も使って勉強した方がバグなどの対応にも融通が効くと書かれていますが、2008年の現時点でvisual studio関連の製品も発展していると思いますが、API関数を使ったプログラムの勉強方法は効率的でしょうか。 API関数を使ったプログラミングの本(Visual C++(1) 山本信雄著)を購入しをプログラミングを始めたばかりですが、windowsの仕組みも少しは理解出来たと思います。 またMFCなどを使ったプログラミングを行った方が良いのでしょうか。 宜しくお願いします。

  • XPの頃のWin32APIの本などはまだ役に立つ?

    1999年頃学生でC言語を勉強し平行してC言語だとWindowプログラムが 作るのが大変だったことからVBも少しやりました。 頭が悪かったもので、その後、VC++6.0を使いWindowsプログラミングを 作る以前の段階で挫折し勉強の難しさに悶絶し病んで廃人となりニートをやっていました。 その後、なんとなくプログラミングに未練があり、Windows APIの本を買ったり JAVAの本を読んだりHTMLやVBS、CSSなどを勉強してみたりしましたが 途中でいつも投げ出して中途半端でした。 そして再び、最近、プログラミングの本を読む機会があり、 知り合いの友人に感化されたこともあり、 Rubyを勉強し始めたのですが、 Win32 API? RubyでWindowsプログラミングを作ることに特化した本が200円で売っていたので 2007年の本でしたが購入してみました。 Win32OLEについて解説してありました。 Rubyに関する知識がまだあやふやな部分があり、またCOMやAPIに関する知識も ???なのであまり理解できませんでしたが、 なんとなく雰囲気のさわりのさわりぐらい分かりました。 とりあえず、昔は頭が悪く非常に精神的にも混乱していて よくわからずなんでも取り組もうとしてしまいました。 WEBページなどの処理をするにはHTMLのほかにDOM、CSSなどの知識 Java scriptなどの知識であっているでしょうか? ruby php phython perl などいろいろあるがこれは特性をみて自分がやりたい言葉のようなものなので 母国語を一つマスターすべきということは理解しました。 また、Windowsプログラミングを作るのであれば、 APIやCOMなどの知識があればいいのでしょうか? FLASHやActiveXのように現在お目にかからない仕様もあるのですが、 これらも内包していまでも学ぶ価値はあるのでしょうか? 出来ればでいいのですが、 安く仕入れられるプログラミング書籍でも活用が可能な技術を 教えてください。 教えてくださいと言ってもC言語を覚えればOSだって作れるよとか アセンブラ覚えれば完璧ですとかそういうのは無しで 一般的なバカなおじさんがなんとなプログラミングを作るうえで知っていた方がいい 知識や導入方法、パーツなどを教えてくださいよろしくお願いします。 一応、今、RubyとVBS、CSS,HTMLを勉強しています。 DOMの知識はあまりないです?説明してみろといわれてもあやふやな答えしかできません よろしくお願いします。

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

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

  • VC++ .NETでWin32 APIの関数を呼び出すことは可能なのでしょうか?

    Visual C++ 2003 .NETで、Win32 APIの関数をSystem.Runtime.InteropServices名前空間を利用して呼び出したく、チャレンジしておりますが、C#のやり方でやると記述エラーになります。 Google等で調べても、C#のものばかり出てくるのですが、VC++ .NETではWin32 API関数を呼び出すことはできないのでしょうか?