プロシージャ
Microsoft Windows用のWindows APIでは、ウィンドウプロシージャ(window procedure)と呼ばれる概念があり、ウィンドウに対するメッセージを処理するコールバック関数のことを指す。ウィンドウの生成や破棄、描画やサイズ変更、マウスやキーボードによるユーザー入力などに伴って送信される各メッセージに対する処理(メッセージハンドラー)を記述することで、イベント駆動型プログラミングを行なう。従来のWindows APIの多くはDLLにエクスポートされたC言語互換の関数形式となっており、単純なGUIアプリケーションであれば(C++やObject Pascalではなく)CやPascalのような従来の手続き型言語を使って実装することもできる。
MFC、Windows Forms、WPFや、DelphiのVCLに代表されるアプリケーションフレームワークでは、メッセージループ(イベントループ)およびウィンドウプロシージャの詳細は隠蔽されており、メッセージハンドラーはオブジェクト指向言語の持つ仮想関数のオーバーライドやデリゲートの仕組みなどを使ってイベントハンドラーにマッピングされるため、通常は意識する必要はない。
ダイアログボックスに対するコールバック関数については、ダイアログボックスプロシージャ(dialog box procedure)と呼ばれる概念があるが、システムから送信されるメッセージを処理するという点でウィンドウプロシージャと似ている。