「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 |