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



  • 2011年06月15日
  • [Windows API リスト]を追加
  • 2014年09月22日
  • [CHM 形式の Win32API リファレンス日本語版]を追加
  • 2015年02月01日
  • マイクロソフトのサイト構成変更に伴い,記事の一部を修正
    マイクロソフトのサイトは,http から https に移行中のようである.現在,翻訳のページと日本語のページが混在している.当サイトの MSDN へのリンクもリンク切れが発生している




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 のリファレンスの目次として近いものではないかと思われます. 


[備考]
2015年02月01日現在,マイクロソフトオンラインのヘルプで,日本語の記事があるのは,デスクトップ関係の関数類だけです.
メッセージ関係,構造体,COM インターフェイス関係には,日本語の記事はありません.


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

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



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




Windows API リスト


2011年6月,ついに Windows API のリストがマイクロソフトのサイトに掲載されたようです.
ただし,日本語の API の解説ページには,構造体の説明がないのがあります.同じ API でも,英語版のページであれば,ほとんど構造体の説明も書いてあるようです.また,英語版のページにしか掲載されていない Windows API の関数もあります.


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




Microsoft Windows SDK のヘルプ


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


図7
SDK のヘルプ




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


ウィンドウメッセージのパラメータの情報も開発に必要なことがあります.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 もある




Delphi の Windows API ヘルプ


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


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




オフラインの 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
その一覧




英語が苦手な場合


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

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



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




参考書


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





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


Google 検索エンジンで MSDN ライブラリを検索するには,site: を指定します.
以下は,ShellExecute を検索する例です.日本語の記事には構造体やメッセージ,あるいは定数名の記事へのリンクがない場合があります.その場合,ja-jp の部分を en-us にすれば,英語の記事を検索してくれます.
site: を指定しないで検索する場合,検索語句に MSDN あるいは Microsoft を含めると,MSDN オンラインの記事もヒットするようになります.この時,Google の [検索ツール] で [日本語のページを検索] にすると,MSDN オンラインの機械翻訳のページもヒットするようになります.


//日本語のページを検索する場合
ShellExecute site:https://msdn.microsoft.com/ja-jp/library/ [日本語のページを検索]

//英語のページを検索する場合
ShellExecute site:https://msdn.microsoft.com/en-us/library/ [検索]


Microsoft TechNet オンライン を Google 検索エンジンで検索する場合は以下のようにします.


//Microsoft TechNet オンラインを検索
ShellExecute site:https://technet.microsoft.com/ja-jp/ [検索]





CHM 形式の Win32API リファレンス日本語版
ライセンス
Win32JP.zip [14,050 KB] 2012年04月14日版

上のダウンロードファイルは,WATANABE Makoto という方が作成した Windows API (Win32API) のヘルプの日本語版です.CHM 形式となっています.参考リンクの [FreeBASIC Window API] のページに置いてあるものですが,当サイトでも配布することにしました.
ライセンスについては,参考リンクの記事で確認してください.


  • 図18
  • CHM 形式の Win32API リファレンス日本語版