Delphi Programming / Object Pascal
サイトのトップページへ リンクのページへ ロゴマーク
[掲載 2009年03月13日] [更新 2019年07月05日]* Delphi 一般・その他
Windows API のヘルプ
動作確認等 リンクを貼っている画像あり。画像は本ページ掲載当時のもの
[整理番号 - 0070]







01_MSDN 日本語版のオンラインヘルプ


Windows API の関数は、Windows 2000 の時代にゆうに 2000 は超えていました。Vista では更に追加されていますから、その数は膨大なものです。これらを把握するのは容易なことではないでしょう。開発では、どうしても Windows API が必要となることがあります。MSDN サブスクリプションを購入すれば定期的に情報を得ることができますが、個人ユーザにとっては負担となります。そのような場合に重宝するのが、オンラインのヘルプです。
ここ 1 年程度は落ち着いているようですが、マイクロソフトのサイトのページは頻繁にアドレスが変更されています。以下の情報は 2015年02月01日 現在のものです。

かっては、Win32 API と呼ばれていましたが、現在は Windows API という呼称が一般的のようです。これは 64 ビット版の Windows が普及し、API もメッセージ関係も 32 ビットと 64 ビットで共通に使用されるためと考えられます。


最初の図は、[Microsoft API とリファレンスのカタログ] というタイトルのページです。
かなりの横長となっています。このページのリンクをたどれば、目的の関数類の記事にジャンプできるわけですが、2015年02月01日現在、[このトピックはこのライブラリには含まれていません] 等の表示が現れたり、日本語の記事や翻訳のページや、英語のページが表示されたりします。
マイクロソフトのサイトは、数年おきにサイトの整備が行われているようです。そのために、リンク切れが発生することがあります。

2015年02月01日現在、英語のページですが、Windows API Index というタイトルのページがあります。このページが Windows API のリファレンスの目次として近いものではないかと思われます。 


[備考 1]
2015年02月01日現在、マイクロソフトオンラインのヘルプで、日本語の記事があるのは、デスクトップ関係の関数類だけです。
メッセージ関係、構造体、COM インターフェイス関係には、日本語の記事はありません。
2015年02月01日現在、マイクロソフトのサイト構成が変更されていて、http から https に移行中のようです。と

[備考 2]
2019年03月、Windows API 関係の記事は docs.microsoft.com に移行しています。その結果、日本語の記事は削除されています。各ページのメインタイトルも Microsoft Developer Network (MSDN) から Windows Dev Center に変っています。
従来の記事の多くはリダイレクトされて「英語版はこちらです」と言う文章が表示されますか『こちら』へのリンクはありません。
記事の URL の ja-jp を en-us に変更すると、英語の記事のページに移動できる場合があります。


図1
MSDN ライブラリ日本語版
  • 日本語版の MSDN ライブラリのヘルプ
  • 英語版の内容 の全てがあるわけではない
図2
検索
  • Office 2007 から導入されたリボンコントロールを調べるために [リボン] を検索

下図が検索の結果です。
以前は表示言語の切り換えの項目がありましたが、左下の [日本語] をクリックして、言語のリストから切り換える方式に変更されています。また、ツリー形式の表示がありましたが、ライトウェイ形式に移行中のようです。



図3
検索リスト
  • [リボン] で検索した結果
  • リストの 2 番目に [リボンの概要]
  • これを開いてみる
図4
検索ページ表示
  • [リボンの概要] の記事が右フレームに表示されている
  • https://msdn.microsoft.com/ 内でなく
    https://docs.microsoft.com/ 内のページ
図5
表示言語の切り換え
  • 表示言語の切り換えは左下にある




02_Windows API リスト


2011年6月、ついに Windows API のリストがマイクロソフトのサイトに掲載されたようです。
掲載当初は一部でしたが、日本語の API の解説ページもありましたが、2019年03月に日本語の記事は削除されています。


図6
ジャンル別になっている




03_Microsoft Windows SDK のヘルプ


[TLIBIMP ユーティリティを使用] で説明している Microsoft Windows SDK 7 をインストールすると API のヘルプがオフラインで利用できます。
このヘルプファイルは、Windows SDK 8.1 には付属していません。


図7
SDK のヘルプ




04_ウィンドウメッセージや関数のサンプル関係参考リンク


ウィンドウメッセージのパラメータの情報も開発に必要なことがあります。Windows API の関数もそうですが、手元に参考書籍がない場合でも、MSDN Library とか、ネット上で詳細な情報を提供してくださっている方がいます。これを利用することができます。
この他、内容がまとまっている [API 別 Win32 サンプル集] や [Delphi de Win32API (サンプルコードが Delphi)] 等があります。

WM_XXX 関係のメッセージですが、一覧が DEKO さんのところに掲載されています。


Delphi のオンラインヘルプにある Windows メッセージのレコード型のリストです。メッセージハンドラを作成した時の、引数のレコード型の説明記事です。



図8
MSDN Library メッセージ関係
  • カテゴリ別の目次ページ
  • 各メッセージそのもの記事ページは、メッセージと Microsoft のキーワードを含めて検索するとヒットする
    例 : CB_ADDSTRING Microsoft
図9
[CB and CBN] のカテゴリ
  • コンボボックス関係の [CB and CBN] で
    [ComboBox Control Messages] をクリック したページ

図10 もある




05_Delphi の Windows API ヘルプ


Delphi のヘルプでも Windows API の関数等を検索することができます。


図11
Delphi のヘルプで Winodws API
  • Delphi 2010 のヘルプの場合
  • [フィルタ条件] を
    [Microsoft Windows Platform SDK] に
  • 検索窓に 'リボン' と入力して [検索]
  • 反転表示部分をクリックすると [検索] タブでないタブに説明が表示される




06_オフラインの Windows API ヘルプ ( Delphi 7 以前 )


Delphi 7 以前であれば、Win32 API のヘルプは、Delphi に附属しています。標準でインストールした場合は、[Program Files] [Common Files] [Borland Shared] の [MSHELP] フォルダ内の Win32.HLP です。
また、版は古いですが日本語版も CD 内の以下の場所に収められています。
  • Delphi5 CD 内の [Info] [Extras] [JPHELP] フォルダ内
  • Delphi6 CD 内の [Info] [Extras] [JPHELP] フォルダ内
  • Delphi7 [Companion Tools disk3] CD の [borland][apijp] フォルダ内
Delphi XE2 以降を購入すると、Delphi 7 が無料で入手可能ですが、この中には Win32 API の日本語版のヘルプは含まれていないようです。


図12
Win32 API ヘルプの場所
図13
日本語版 (Delphi 5, 6)
図14
日本語版 (Delphi 7)
図15
付録
  • 結構便利かも...
図16
メッセージ関係
  • 一覧がある
図17
その一覧




07_英語が苦手な場合


マイクロソフトの MSDN の記事も一部は日本語の記事がありますが、構造体やメッセージ等は日本語化されていません。そのような場合は、古い日本語の API ヘルプで調べるとか、参考書を購入したり、関係参考リンク等を探してみます。それでもない場合は、検索エンジンで用意されている翻訳機能を利用する手もあります。
例えば WM_NCLBUTTONDOWN というメッセージを調べたいとします。 [WM_NCLBUTTONDOWN MSDN] で検索してみます。検索でヒットした表示から {このページを訳す} をクリック します。日本語訳としては決して十分とは言えませんが、利用価値はあるでしょう。

2015年02月01日現在は、以下の WM_NCLBUTTONDOWN のリンクは有効となっていますが、MSDN は https にサイトを移行中のようです。



[備考]
https のウェブページは翻訳できないことがあります。




08_参考書


以下の様な書籍があります。1. は Delphi 用ではありませんが参考になります。2. 3. は多くのコード例があり附属の CD に収められています。
これらの書籍は現在全て絶版となっています。リンクは Amazon.co.jp ですが、全て中古本です。





09_Google 検索エンジンで MSDN ライブラリを検索


Google 検索エンジンで MSDN ライブラリを検索するには、site: を指定します。
以下は、ShellExecute を検索する例です。
site: を指定しないで検索する場合、検索語句に Microsoft Docs を含めると docs.microsoft.com オンラインの記事もヒットするようになります。

Windows API の関数には Ansi 版と Unicode 版の両方が用意されていることがあります。Ansi 版の関数名の末尾は A となっていて、Unicode 版の関数名の末尾は W となつています。



// 英語のページを検索する場合
ShellExecute site:https://docs.microsoft.com/ [検索]