Windowsプログラミング

WindowsAPIとは

ここでは、Microsoft 社のOSである、Windowsでのプログラミングについて解説します。Windows上で動作するアプリを作るには、.NETフレームワークを利用する方法と、WIN32APIを利用する方法の2通りがありますが、ここでは、後者について説明します。

Windowsプログラミングを行うためには、Windowsが提供している API を操作します。このAPIのことを、WindowsAPIと呼び、現在、WIN32APIとWIN64APIというものもありますが、ここでは一般的に利用されているWIN32APIについて説明します。API とは Application Programming Interfaces のことでアプリケーションからOSを操作するための手段です。

Windowsプログラミングの方法

ウィンドウズ上のネイティブアプリを作成するには、通常C言語やC++言語といった言語を使用するケースがほとんどです。しかし、それら言語だけでは、ウィンドウの出力など、WindowsOS固有の処理を行うことができません。そこで必要となるのが、WIN32APIです。

Windowsプログラミングを行う際には、これら言語からWIN32APIを呼び出すことが必要になります。

Windowsの歴史

MS-DOSの時代

WindowsAPIについて説明するために、ここではまずWindowsの歴史について説明することにります。Windowsが出現する前、パソコンの主要なOSは、MS-DOS(Microsoft Disk Operating System)と呼ばれるものでした。(表0-1.)

Windowsが、GUI(Graphical User Interface)という、画面上のウィンドウをマウスでクリックすることにより操作するというタイプのOSであるのに対し、このころは、CUI(Character User Interface)と呼ばれるものでした。

このCUIは、画面が真っ暗な画面で、そこにキーボードから直接、「dir」や、「type」といったコマンドを打ち込んで実行するタイプのコンピュータでした。現在でも、この機能は、ウィンドウズの中で、コマンドプロンプトと呼ばれる機能として残っています。

表0-1.マイクロソフトのパソコンのOSの歴史
出来事
1981年 IBM PC用にPC DOSが登場。1982年 マイクロソフト版が、MS-DOSとして発売される。
1983年 マイクロソフト、Windows1.0発表。
1985年 マイクロソフト、Windows1.0を発売。
1992年 Windows3.1発売
1995年 Windows95発売
2001年 WindowsXP発売

マルチタスクとシングルタスク

このように、見た目が違うだけではなく、プログラムの処理の方法にも、大きな違いがあります。MS-DOSは、一度に一つのプログラムしか実行できませんでしたが、Windowsは複数のプログラムを同時に実行することができます。前者をシングルタスク、後者を、マルチタスクと呼びます。

もともとC言語は、パソコンのみならず、コンピュータがこういったCUI、シングルタスクが普通の時代に使われていたもので、GUIやマルチタスクには対応したものではありませんでした。

そこで、マイクロソフトは、ウィンドウズのこういった操作をC言語からでもおこなえるような関数のセットである、API(Application Programming Interface)を用意しました。ここで紹介する、WIN32APIは、そのAPIのことなのです。

WIN32API

ここで説明するWIN32APIは、数あるWindowsAPIのうちの一つで、32ビットのプログラムの処理に対応しており、現在WindowsのAPIとしてはもっともポピュラーなものです。ここでは、WIN32APIでプログラムを作る方法について解説します。