いいじまです。

#fj.os.ms-windows.misc は消される見込みなので(すいません、投票結果の
#集計は今日・明日のうちに出します)、.programming 送り。

> > と思ったのですが、その大半は、http://www.microsoft.com/ で見ることがで
> > きるので、飯島さんの言われるように、まず、マイクロソフトのサイトを見る
> > しかないと思います。「このボタンを押せばこうなる」という説明しか発見で
> > きていないとすれば、それは不幸です。あるいは、読みが浅いです。
> 
> 大学一年生のプログラミング初心者にWindows APIを教えるための
> 最初に読むべき文書を教えていただけませんか?
> 
> 一年生は難しいか。じゃぁ、3年生でプログラミングに関しては慣
> れているって前提だったら?

1年生なら、まず標準Cをしっかり理解させるのが先決ですね。必要なキーワー
ドの読み替え(DWORD の実体が unsigned int だとか、LPSTR と char * は同義
だとか)を頭に入れた上で、最低限必要な範囲で API のリファレンスマニュアル
を読んで使う、という形になるでしょう。

#商用版の Visual C++ なら統合開発環境にヘルプがついてくるし、ちょっと古
#いですが <http://www.cs.virginia.edu/~lcc-win32/> からもダウンロード可
#能。最新版は <http://msdn.microsoft.com/library/default.asp> からオン
#ラインで読む。

あるいは、アルゴリズムとか、プログラミングの基礎的な発想とかを身につけさ
せる、というのであれば、Visual Basic も選択肢に上がります。

コンピュータサイエンス関係の学生でなければ(つまり、何かのツールとして
GUI プログラミングが必要と言うだけなら)、そのまま卒論まで VB と Perl で
突っ走る、という選択肢もアリです。VB からも Perl からも API は使えます。

        #!perl
        use Win32::API;

        # see perldoc Win32::API for details.
        $MessageBox = new Win32::API('user32','MessageBoxA',[N,P,P,N],N);

        # constant predefined in C/VB.
        sub vbOK {0}

        # !Vamos!
        $MessageBox->Call(0,'hello, world.','hello',vbOK);

                                ☆

Cをマスターした3年生が GUI プログラミングに挑戦、という前提なら、Windows
API プログラミングの入門テキストは大きな本屋に行けば山のように(というと
大袈裟か)あると思います。その中から、ISO C/C++ の範囲の記述に誤りの少な
いものを選べば、Windows 初級者向けとしては十分でしょう。

その先は残念ながら、いろんなところに散逸している英語の資料をあさっていく
しかありません。

========================================================================
飯嶋 浩光 / でるもんた・いいじま   http://www.ht.sakura.ne.jp/~delmonta/
IIJIMA Hiromitsu, aka Delmonta           mailto:delmonta@ht.sakura.ne.jp