■ Windows と C++



C/C++ 関連
変数
printf
scanf
引数を取得
extern
static変数とstatic関数の作成
オブジェクト指向
配列の引数渡し
メモリの解放
関数ポインタ
テンプレート
算術関数
乱数
全角文字の扱い
構造体
共用体
動的なメモリの割り当て
演算子の宣言
goto文
列挙型
プリプロセッサ命令
現在時刻を取得する
フレンド
ファイル処理
ファイルの削除、名前変更、置換
ファイルの情報の取得
ファイルとフォルダの列挙
区切り文字による文字列の切り出し
名前空間
実行ファイルのパス
可変引数リスト
メモ

■ バグを出さない為に...
マルチスレッドや割り込みなどでの最適化の抑制
自動変数とメモリの領域
デストラクタはバーチャルにする
アサーション
newの失敗
その他の要因
クラッシュするプログラムの原因追及

■ STL(Standard Template Library)
標準テンプレートライブラリ
string

vector配列(動的配列)
→複製(copy)
→削除
→検索
→ソート
→ユニーク

mapによる連想配列
set
stack queue


■ MFC (Microsoft Foundation Class)
アプリケーションの作成に有用なクラスを提供するクラスライブラリ
MFC デバッグ出力
ビープを鳴らす
CStringのtrim
MFC charとCString
MFC 文字から数字に
MFC 数字から文字に
MFC CStringの文字←→数字
MFC Controlの使い方
MFC Controlのリサイズ
MFC ダイアログの起動時にテキストボックスに値を入れておく
MFC ダイアログの表示
MFC ダイアログをエンターキーで終了しなくする
MFC ダイアログを常に最前面で表示
MFC ダイアログを最大化で起動
MFC ダイアログのサイズ変更
MFC ダイアログの最大化、最小化
MFC ダイアログのサイズ変更可能と変更不可の切り替え
MFC ダイアログの初期表示位置を設定する
MFC タスクバーに表示されないようにする
MFC ダイアログにメニューの追加
MFC UpdateDataメソッド
MFC コントロールの状態変化
MFC ダイアログの起動時にフォーカスを指定
MFC メッセージボックス
MFC タイマー
MFC スレッド & クリティカルセッション
例外処理
MFC アプリケーションの終了
MFC 二重起動禁止
MFC 重い処理中にイベントをシステムに戻す
MFC コントロールの動的貼り付け
MFC 数字しか入力できないCEditとサブクラス化
MFC ファイル処理+CSVの読み出し
MFC 外部アプリケーションを起動する
MFC TCP/IPクライアント
MFC TCP/IPサーバー
MFC 時間の取得
MFC ダイアログの背景色の変更
MFC スタティックテキストおよびエディットの背景色の変更
MFC ボタンの背景色の変更(ビットマップ)
MFC ボタンの背景色の変更(オーナー描画)
MFC コンボボックス
MFC 色選択ができるコンボボックス
MFC CEditの文字サイズとフォントの変更
MFC グラフィックス
MFC SDIにて画面描画と印刷処理
MFC クリップボード操作
MFC レジストリ操作
MFC SDIの描画
MFC フォント
MFC 色
MFC メニュー
MFC SDI描画のタイマー
MFC 再描画を行う
MFC アクセラレータとF1キーのヘルプの抑制
MFC SDIにてツールバーの追加
MFC SDIにコントロールを貼り付け
MFC SDIにダイアログバーの作成
MFC SDIにてステータスバーに文字を表示
MFC ODBCを使ったデータベースアクセス
MFC FlexGridの使い方
MFC 折れ線グラフ作成クラスの考察
MFC 円グラフ作成クラスの考察
MFC グラフ作成クラスのラベルの考察
MFC ラッパー クラスによるActiveXの利用
MFC BSTRの変換
MFC Excel操作
MFC ActiveXコントロールの作成
MFC ActiveXコントロールからイベントの発生
MFC カーソルを砂時計にする

■ SDK (Software Development Kit)
APIをC言語でダイレクトに用いるプログラミング
SDKのテンプレート
SDK モーダルダイアログのテンプレート
SDK モードレスダイアログのテンプレート
SDKでのコントロールの扱い
サブクラス化
ボタンの相対座標をもとめて移動させる
ダイアログとコントロールの背景色の変更
SDK トラックバー
SDK プログレスバー
ハンドルやインスタンスの取得
ウインドウの位置やサイズ
起動時にウィンドウを表示しない
テキストボックスの最大化
SDKにてスレッドの生成

■ ネットワーク、通信関連
自分のコンピューター名を表示する
SDKにてTCP/IP通信
SDKにてICMP.DLL を使った ping
RS232c通信
SDK リンクラベルの作成
FTPクライアント
UDP通信
JIS(ISO-2022-JP)からShift-JISに変換
Shift-JISからJIS(ISO-2022-JP)に変換
RAWソケットで、アドレス(NIC)の列挙
RAWソケットで、パケットを見る

■ ファイル関連
ファイルのコピーや削除
ファイルダイアログ

■ 描画関連
SDK 印刷処理
デスクトップの画像を取得して、ウィンドウに描画する
ダブルバッファリングでちらつきの無い描画

■ DLL COM 関連
Dllの作成と動的呼び出し
Dllの作成2
libファイルを使ったDllのロード時動的リンク
DLL スレッドの作成
ActiveX (COM) の呼び出し
BSTRの変換
文字列を受け渡しできるDLL

■ 周辺機器
マウスの操作
キーボードフック
キーボードフックで特定のキーを使用不能にする
キーボードフックでWindowsキー、CTRL+ESC、ALT+TAB、ALT+ESCの無効化
GINA.DLLの作成(Ver1.0)
GINA.DLLをレジストリに登録
GINA.DLLにて CTRL+ALT+DLL の抑制
キーボードフックを使わずにシステム全体で特定のキーが押されているかを調べる
アクティブウィンドウにキーボード操作を送る
CDトレイをオープンする
ゲームパッド(ジョイパッドと言うらしい)を使ってみる

■ プロセス
Psapi.dllを使ったプロセス情報の取得
tlhelp32.hを使ったプロセス情報の取得
メモリマップドファイル(プロセス間通信)
他のプログラムのウインドウハンドルを取得する
ファイルを起動
パイプ

■ インラインアセンブラ
インラインアセンブラ
CPUクロックを求める

■ データベース
ODBC
カーソルでデータの更新
ODBC 結果セットの変数へのバインド
ODBC SQLコンソールみたいなものを作る
SDKをMFCにしてODBC操作

■ ツール
パフォーマンス測定用のストップウオッチ
デバッグ用メッセージボックス

■ その他
デスクトップアイコンの位置を取得と設定
ウインドウの外に描画
仮想キーコード
SDK ドラッグアンドドロップが可能なテキストボックス
レジストリ操作
時間の設定
WindowアプリケーションからDOS窓を開いて文字を出力
環境変数の取得
アイコン
タスクトレイにアイコンを作成
砂時計カーソル
SDKでMFCのCStringクラスなどを使う
壁紙の変更
Unicodeおぼえ

■ ATL (Active Template Library)
ActiveXコントロールを作成するための雛型となるライブラリ
簡単なActiveX.DLLの作成
簡単なActiveX.EXEの作成
ActiveXからイベントの送信(VBなどで捕まえるイベントです)
スレッドをつかってイベントを発生させる
VisualBasicやC#などからの文字列をchar文字列に変換

→ActiveXのレジストリへの登録

■ Managed C++
Managed Code 環境 (CLR)で動作させるコードを生成
デバッグ出力
ガベージコレクトされるクラスの宣言
ガベージコレクタの強制実行
例外処理
文字列操作
Stringの変換
コントロールの動的配置とイベントの登録
子フォームを作成
メッセージボックス
スレッド
ファイル処理
区切り文字による切り出し
二重起動の抑制
TCP/IPクライアント
アンマネージドDLLの呼び出し
マネージドDLLの作成と呼び出し
ActiveXの呼び出し


▲トップページ