「C/C++ Win32API サンプル集」 ver1.0

/*
 2007/3/25 プログラムは4年ぐらい引退していましたが、復帰することになりましたので、リハビリとしてこのサンプル集を見直して再度、公開しました。見直す際にはWindowsXP+(Borland C++ Compiler 5.5とVisualC++5.0)で確認しました。このサンプル群は6年前に私がC/C++の勉強のために作成したものですが、なんせ「C/C++を勉強しはじめた4ヶ月程度のコーディング」のままなので仕事などで利用する際にはエラー処理やメモリ解放などきっちりとしたほうがよいところが多々あると思います。ですが、情報としてはそれなりに有益かとおもいますので、改変しながらつかってやってください。以下は当時の原文です。皆様のお役に立てれば幸いです。< papy >

現在の配布サイト:papy's softwarelibrary 
*/



<概要>

このソフトは名の通り「C/C++によるWin32API サンプル集」です。
「APIの小技集」として101個のTips「SDKサンプルアプリケーション」として6個、全てのサンプルを合計すると107個のサンプルが同梱されています。中でも「MIDIファイルを作成する技法」「WAVEファイルを作成する技法」「デスクトップに画像をアニメーション描画する技法」など滅多にお目に掛かれない貴重なサンプルなどもあるので是非、ご活用下さい。そして、あなたのスキルアップに役立ててもらえれば幸いです。

<サンプルについて>

このサンプル群はインターネットサイト「Programming Library」で掲載されているサンプルをまとめたものです。このソフトが市場に出回っている頃にはこれ以外にもサンプルが追加されていると思います。なので、一度は見に来てくださいね。C/C++以外にもDelphi/VisualBasicの情報もあります。

<開発者の対象スキル?>

初級者〜中級者用です。
また、上級者には役に立つかわかりません。(私自身、C/C++約4ヶ月の初心者なので・・・)

<テスト環境>

「Windows98+VisualC++5.0」で確認しております。
開発環境が異なる場合は動作しない場合もあるのでご了承下さい。

<使用方法>

VC5.0でサンプルを使用する場合は新規プロジェクト(Win32Application)を作成してそれらのファイルを追加してからビルドしてください。新規プロジェクト(Win32Application)を作成しないとエラーになりますので注意して下さい。

※VC++以外の環境では試したことがないのでわかりません。なので指向錯誤しながらお試しください。

<転載>

このソフトウェアの転載、書籍収録等に関しては、あらかじめメールにてご連絡下さい。

<免責>

このプログラムおよび同梱のファイルの使用、もしくは使用不能などによる一切の不具合に関しては、著作者は責任をもちません。

<履歴>

2001/9/2 初期版完成

<サンプルの分野別分類表>

アーカイバ 8個
ウインドウ 11個
オーナードロー 5個
グラフィック 16個
ダイアログ 7個
ダイアログテンプレート 2個
ディレクトリ 2個
ドライブ 3個
ファイル 6個
プロセス/スレッド/ヒープ/モジュール 2個
ミュージック 5個
メニュー 3個
Win32 コモンコントロール 16個
監視 3個
時間 3個
その他 9個


<サンプル構成>

※付属ファイルはコンパイルする際に「*.C」ファイルと同じフォルダに置いてください。

ファイル構成 サンプル名 付属ファイル
Win32API\Sample1.c MIDIファイルを再生する
---
Win32API\Sample2.c 音楽CDを再生する
---
Win32API\Sample3.c CDトレイを開閉する
---
Win32API\Sample4.c ドレミファソラシドをMIDI音源で鳴らす
---
Win32API\Sample5.c ドラムリズム音をMIDI音源で鳴らす
---
Win32API\Sample6.c メインウインドウを透明にする
---
Win32API\Sample7.c 角の丸いウインドウを作成する
---
Win32API\Sample8.c ウインドウをフラッシュする
---
Win32API\Sample9.c ウインドウを常に手前にする
---
Win32API\Sample10.c ウインドウのサイズを変更させない
---
Win32API\Sample11.c 全ウインドウを最小化する
---
Win32API\Sample12.c 現在表示されているウインドウを列挙する
---
Win32API\Sample13.c ウインドウを移動させないようにする
---
Win32API\Sample14.c オーナードローリストボックスを作成する Sample14.res
Win32API\Sample15.c オーナードローコンボボックスを作成する Sample15.res
Win32API\Sample16.c オーナードローボタンを作成する Sample16.res
Win32API\Sample17.c オーナードローステータスバーを作成する Sample17.res
Win32API\Sample18.c オーナードローメニューを作成する Sample18.res
Win32API\Sample19.c ウインドウの二重起動を防止する
---
Win32API\Sample20.c ウインドウのアイコンをタスクトレイに突っ込む
---
Win32API\Sample21.c 「ファイルを開く」ダイアログを表示する
---
Win32API\Sample22.c 「名前を付けて保存」ダイアログを表示する
---
Win32API\Sample23.c 音楽/動画プレビュー付き「ファイルを開く」ダイアログを表示する
---
Win32API\Sample24.c 音楽/動画プレビュー付き「名前を付けて保存」ダイアログを表示する
---
Win32API\Sample25.c フォント選択ダイアログを表示する
---
Win32API\Sample26.c カラー値選択ダイアログを表示する
---
Win32API\Sample27.c 「フォルダの参照」ダイアログを表示する
---
Win32API\Sample28.c Windows/System/Temp/カレントディレクトリを取得する
---
Win32API\Sample29.c 特殊(?)フォルダのパスを取得する
---
Win32API\Sample30.c 処理時間を計測する
---
Win32API\Sample31.c APIでタイマーイベントを自作する
---
Win32API\Sample32.c フォルダを丸ごとコピーする
---
Win32API\Sample33.c ファイルをフォームにドラッグ&ドロップする
---
Win32API\Sample34.c アニメーションカーソル再生ウインドウを作成する Sample34.ani
Win32API\Sample35.c システムメニューをポップアップ表示する
---
Win32API\Sample36.c システムメニューの「閉じる」を無効にする
---
Win32API\Sample37.c システムメニューに新しい項目を追加する
---
Win32API\Sample38.c (Del+Ctrl+Alt)キーと(Alt+Tab)キーを無効にする
---
Win32API\Sample39.c スクリーンセーバーを実行する
---
Win32API\Sample40.c URL/Mailを実行する
---
Win32API\Sample41.c 使用できるフォントを列挙する
---
Win32API\Sample42.c 現在使用できるドライブを列挙する
---
Win32API\Sample43.c ドライブの種類を判別する
---
Win32API\Sample44.c ドライブの容量を取得する
---
Win32API\Sample45.c クリップボードを監視する
---
Win32API\Sample46.c ファイルのプロパティダイアログを表示する
---
Win32API\Sample47.c ヘルプファイルを開く Sample47.hlp
Win32API\Sample48.c タスクバーの状態を設定する
---
Win32API\Sample49.c フォームの位置をINIファイルに保存して復元する
---
Win32API\Sample50.c ファイルのサイズを取得する
---
Win32API\Sample51.c テキストプレビュー機能付きコモンダイアログ Sample51.res
Win32API\Sample52.c イメージプレビュー機能付きコモンダイアログ Sample52.res
Win32API\Sample53.c 他のアプリケーションの終了を検知する
---
Win32API\Sample54.c 現在起動しているプロセスを列挙する
---
Win32API\Sample55.c 自プロセスのモジュールを列挙する
---
Win32API\Sample56.c ファイルをEDITに読込む
---
Win32API\Sample57.c ビットマップファイルを読込む Sample57.bmp
Win32API\Sample58.c クリップボードを介入しないで画面をキャプチャする Sample58.res
Win32API\Sample59.c グラデーションを施す Sample59.res
Win32API\Sample60.c 画像をタイル配置に描画する Sample60.bmp
Win32API\Sample61.c プログレスバーを作成する
---
Win32API\Sample62.c アップダウンコントロールを作成する
---
Win32API\Sample63.c トラックバーコントロールを作成する
---
Win32API\Sample64.c アニメーションコントロールを作成する Sample64.avi
Sample64.res
Win32API\Sample65.c ドラッグリストコントロールを作成する
---
Win32API\Sample66.c ツールチップコントロールを作成する
---
Win32API\Sample67.c ヘッダーコントロールを作成する
---
Win32API\Sample68.c ホットキーコントロールを作成する
---
Win32API\Sample69.c イメージリストコントロールを作成する Sample69.res
Win32API\Sample70.c ステータスバーコントロールを作成する Sample70.res
Win32API\Sample71.c タブコントロールを作成する
---
Win32API\Sample72.c ツールバーコントロールを作成する
---
Win32API\Sample73.c クールバー(レバー)コントロールを作成する
---
Win32API\Sample74.c リストビューコントロールを作成する Sample74.res
Win32API\Sample75.c ツリービューコントロールを作成する Sample75.res
Win32API\Sample76.c リッチエディットコントロールを作成する Sample76.res
Sample76.rtf
Win32API\Sample776.c Win95/98でSYSTEM/GDI/USERリソースを取得する
---
Win32API\Sample78.c EDITの内容をファイルに書き込む Sample78.res
Win32API\Sample79.c ビットマップを保存する(RLE圧縮対応) Sample79.res
Win32API\Sample80.c 処理時間が長い場合Windowsに処理を渡す
---
Win32API\Sample81.c ファイルを圧縮-LZH編 Sample81.res
Win32API\Sample82.c ファイルを展開-LZH編 Sample82.res
Win32API\Sample83.c 自己解凍書庫(SFX)を作成-LZH編 Sample83.res
Win32API\Sample84.c ファイルを圧縮-CAB編 Sample84.res
Win32API\Sample85.c ファイルを展開-CAB編 Sample85.res
Win32API\Sample86.c 自己解凍書庫(SFX)を作成する-CAB編 Sample86.res
Win32API\Sample87.c ファイルを圧縮する-ZIP編 Sample87.res
Win32API\Sample88.c ファイルを展開する-ZIP編 Sample88.res
Win32API\Sample89.c コントロールパネルアプリケーションを起動する Sample89.res
Win32API\Sample90.c フォルダを監視する Sample90.res
Win32API\Sample91.c グラフィックエフェクト- グレースケール Sample91.res
Sample91.bmp
Win32API\Sample92.c グラフィックエフェクト- セピアカラー Sample92.res
Sample92.bmp
Win32API\Sample93.c グラフィックエフェクト- モノクロ Sample93.res
Sample93.bmp
Win32API\Sample94.c グラフィックエフェクト- モザイク Sample94.res
Sample94.bmp
Win32API\Sample95.c グラフィックエフェクト- 輝度調整 Sample95.res
Sample95.bmp
Win32API\Sample96.c グラフィックエフェクト- 90/180/270℃回転 Sample96.res
Sample96.bmp
Win32API\Sample97.c 減色/増色シリーズ - ビットマップを1677万色(24bit)で保存 Sample97.res
Win32API\Sample98.c 減色/増色シリーズ - ビットマップを256色(8bit)で保存 Sample98.res
Win32API\Sample99.c 減色/増色シリーズ - ビットマップを16色(4bit)で保存 Sample99.res
Win32API\Sample100.c 減色/増色シリーズ - ビットマップを2色(1bit)で保存 Sample100.res
Win32API\Sample101.c 減色/増色シリーズ - ビットマップを65536色(16bit)で保存 Sample101.res


ファイル構成 サンプル名 内容
SDK\Cat 窓辺にまとわりつく妖しい猫 アクティブウインドウに不定形リジョーン(猫)がまとわりつくプログラム
SDK\Desk ニコちゃんが一杯!!(^^; デスクトップに 「ニコちゃん」をアニメーション描画するプログラム(win98系のみ有効) 
SDK\Midi ミニミニMIDIコンパイラー ズバリ、名の通りのMIDIファイル作成プログラム 
SDK\Wave ミニミニWAVEコンパイラー ズバリ、名の通りのWAVEファイル作成プログラム 
SDK\Mini 「13kの軽量/高速ランチャー」 エクスプローラーでフォルダを開くタイプのランチャープログラム 
SDK\Tekitou てきとうせーばー よくあるスクリーンセーバープログラム




http://homepage1.nifty.com/MADIA/  
「C/C++ Win32API サンプル集 」 Copyright(c) 2001 Takeshi Okamoto