ようこそ、Windowsプログラミングの世界へ
ここでは、Windows上で動くアプリケーションを開発するもっとも原始的でもっともパワフルな方法の基礎を説明します。そう、WindowsのWIN32APIをC言語でダイレクトに用いる方法を説明するのです。
VBなどのRADツールがもてはやされる昨今、なぜC言語でWindowsプログラミングなのでしょうか?たしかに、VBなどのRADツールは、データベースとのやり取りをするユーザーインターフェースを作るのには十分です。また、MFCなどを用いる事により、高速なアプリケーションを容易に組むことは可能です。しかし、筆者の経験から極端な例を挙げると、ネットスケープナビゲーターのプラグインの開発には、いかなるRADツールやMFCなどのクラスライブラリーも役に立ちませんでした。つまり、RADツールやMFCなどは、使える範囲が限定されているのです。
また、プログラミングという行為は、単に物を作るだけの作業でしょうか?私は違うと思っています。プログラミングという行為は、そのOSの機能や性質を知らなければ出来ません。いや、プログラミングをしている内に、OSの機能や性質を知ってしまいます。従って、Windowsを理解したければWindowsプログラミングをするのが近道です。私は、Windowsを理解する最も適切な方法は、C言語でWindowsとアプリケーションのインターフェースであるWIN32APIを直接触ることと思っています。なぜならば、C言語でWIN32APIを用いる場合、VBなどのRADツールやMFCでは単にオーバーヘッドとみなされ隠蔽される部分を全て自分でコーディングしなければいけないからです。この隠蔽される部分にこそ、Windowsアプリケーションの制御の流れを掴む情報があるのです。
さて、これから始まる講座の対象となる読者ですが、C言語の基本的な文法を知っていて標準ライブラリーを自由に使うことができる人、これが条件です。残念ながら、DOSで動くツールの開発の様に、文法を覚えながらWindowsのアプリケーションを構築することは不可能と思います。もし、これに該当しないと思う方は、まず、C言語の学習から始めてください。
最後に、今後の予定ですが、この講座は2週間に1章の割合で進めていこうと思っています。しかし、私にとって、Windowsプログラミングはまったくの趣味道楽です。したがって、予定通りにならないかもしれません。この辺は、ご勘弁願います。また、内容の間違いなどの御指摘や質問も受け付けています。この場合は、ysskondo@mbox.kyoto-inet.or.jpまでお願いします゛また、メールで頂いた御指摘や質問は、この講座で採り上げることがあると思います。これに関しても御了承願います。
1999年1月6日
・1章 必要な物(1999/01/06)
・2章 Hello World(1999/01/06)
・3章 Windowsアプリケーションの骨格(その1)(1999/01/06)
・4章 Windowsアプリケーションの骨格(その2)(1999/01/17:1999/02/06:2000/08/20)
・5章 Windowsアプリケーションの骨格(その3)(1999/02/09:2000/08/20)
・6章 メニューを付けてみよう(1999/03/26)
・7章 Windowsアプリケーションの骨格(その4)(1999/04/17:1999/04/23)
・8章 Windowsアプリケーションの骨格(その5)(1999/05/13)
・9章 Windowsアプリケーションの骨格(その6)(1999/09/18)
・10章 Windowsアプリケーションの骨格(その7)(1999/09/29:1999/11/04)
・11章 DLL入門(その1)(1999/10/23)
・12章 DLL入門(その2)(1999/11/01)
・13章 Windowsアプリケーションの骨格(その8)(1999/11/05:1999/11/13)
・14章 補講(その1)(1999/11/11:1999/11/12)
・15章 補講(その2)(1999/11/13:2000/06/04)
・16章 コントロール概説(その1)(1999/11/20)
・17章 コントロール概説(その2)(1999/11/24)
・18章 ダイアログボックス(その1)(1999/11/30)
・19章 ダイアログボックス(その2)(1999/12/04:1999/12/05)
・20章 ダイアログボックス(その3)(1999/12/11)
・21章 ダイアログボックス(その4)(2000/01/23)
・22章 モーダルダイアログボックスの制御に関する考察(2001/04/10:2001/04/11)
・23章 VisualBASIC感覚でSDKプログラミング(その1)(2002/07/01:2002/07/17)
・24章 VisualBASIC感覚でSDKプログラミング(その2)(2002/07/02:2002/07/17)
・25章 VisualBASIC感覚でSDKプログラミング(その3)(2002/07/02:2002/07/17)
・26章 VisualBASIC感覚でSDKプログラミング(その4)(2002/07/03:2002/07/09)
・27章 ダイアログボックスって何?(2002/07/17)
・28章 ウインドウクラスレベルでダイアログボックスをカスタマイズ(2002/08/10)
・29章 メニューとキーボードアクセラレーター(その1)(2002/11/16)
・30章 メニューとキーボードアクセラレーター(その2)(2002/12/05)
・31章 メニューとキーボードアクセラレーター(その3)(2002/12/08)
・32章 メニューとキーボードアクセラレーター(その4)(2002/12/09)
・33章 メニューとキーボードアクセラレーター(その5)(2002/12/21)
・34章 メニューとキーボードアクセラレーター(その6)(2003/01/06)
・35章 メニューとキーボードアクセラレーター(その7)(2003/01/18)
・36章 グラフィックス・デバイス・インターフェース(GDI)入門(その1)(2003/01/20)
・37章 グラフィックス・デバイス・インターフェース(GDI)入門(その2)(2003/01/27)
・38章 グラフィックス・デバイス・インターフェース(GDI)入門(その3)(2003/02/01)
・39章 グラフィックス・デバイス・インターフェース(GDI)入門(その4)(2003/02/09)
・40章 グラフィックス・デバイス・インターフェース(GDI)入門(その5)(2003/03/12)
・41章 コントロールのサブクラス化(2003/03/20)
・42章 グラフィックス・デバイス・インターフェース(GDI)入門(その6)(2003/10/23)
・43章 グラフィックス・デバイス・インターフェース(GDI)入門(その7)(2006/01/25)
・44章 グラフィックス・デバイス・インターフェース(GDI)入門(その8)
・C言語の定石(2002/07/07)
・ゲストブック自宅wwwサーバーで運用しています。ネットワーク機器の不具合で使えない場合があります。御了承願います。
・マニュアルと解説書で振返る、我がプログラミング環境(全12頁)(1999/10/03:2001/01/28)
・サンプルプログラムを他の処理系でコンパイルするには?(2000/08/21)
・フリーソフトウエア(2002/12/28)
・ジオログ(2006/06/10)
・はてな::ダイアリー(2006/07/28)
私が、よく見に行くプログラミングサイトです。
許可を取っていませんので、苦情が来次第リンクから外します。
私が、普段生活しているエリアのWebサイトです。
街の発展に貢献できればと思います。
[MLの詳細]を読んでから登録してください。
[MLの詳細]を読んでから登録してください。
このMLは、ゲストブック常連発言者のMLです。
著作権者:近藤妥
このサイトの全てのページはリンクフリーです