Last Update 2004/06/15

実例で学ぶ Win32 API活用術
すべてのWindowsプログラマのための技巧集

常岡 伸二 著
B5変型判 240ページ
CD-ROM付き
定価2,750円(税込)
JAN9784789835930
2000年4月15日発行
[絶版2003.4.30] 実例で学ぶ Win32 API活用術
大変恐縮ですが,こちらの商品は品切れ絶版となりました.

 WindowsNTも,ようやく基幹業務で利用されることが多くなってきているようですが,未だメインフレームやUNIXサーバーほどの安定性や性能を持つまでには至っていません.
 しかしながら,クライアントで利用するWindows 95との接続性の良さや,システム管理がUNIXサーバーと比較して容易であることなど,メリットも数多くあります.
 Windows NTにBackOfficeを組み合わせて,インターネット上のサーバーとして利用されることも多くなっており,少しづつではありますが安定性も向上してきているのではないかと思われます.
 そのような中で,Windows NTやWindows 9xで動作するアプリケーションを開発する機会はこれからますます多くなってくることが予想されます.
 以前は,UNIXのプログラムをWindows NT上で動作させるといった観点の情報が多くありましたが,最近はWindowsアプリケーションをUNIX上で動作させるための情報も多くなってきています.
 このように,OSの機能を利用する手段は多くなってきていますが,あまりにも多くの機能が提供され複雑になり,その上OSの開発元のトラブルへの対応能力に関しても疑問が残ります.
 しかし,エンドユーザーの多数はそれらのOSで提供される新しい機能を利用することを希望するでしょう.
 そのようなエンドユーザーのニーズに答えるためにも,小さな機能にも興味を向けておくべきではないでしょうか.

 本書では,そのような小さな機能を活用するための具体的な手法について詳細に解説しています.
 情報が多すぎることで消化不良ぎみになっている方,学習時間を思うように取れない方にとって,本書は適切な指針を与えてくれるでしょう.
(以上,「まえがき」から一部抜粋)

目次

1 デスクトップ上にショートカットを作成する方法
 1-1 ある日の会話
 1-2 デスクトップの場所
 1-3 「デスクトップ」ディレクトリの場所を知るには?
 1-4 「デスクトップ」ディレクトリの設定場所
 1-5 ショートカットを作成する
 1-6 コンポーネントオブジェクトAPI
 1-7 IShellLinkインターフェース
 1-8 処理手順
 1-9 プログラムについて

2 アプリケーションにディスクフォーマットを組み込む方法
 2-1 Windows 95/98/NT4.0で行えるフォーマット処理
 2-2 ダイアログボックスを表示しないようにするには
 2-3 Windows NTフォーマットコマンドの正体
 2-4 Windows NTでフォーマットをサポートするDLL
 2-5 プログラムについて

3 サーバーが稼働中かどうかを調べる方法
 3-1 PING.EXE
 3-2 PINGの仕組み
 3-3 ICMP.DLLを使う
 3-4 WinSockAPIを使う
 3-5 Macは応答しなかった
 3-6 プログラムについて

4 Webサーバーを使った分散アプリケーションの作り方
 4-1 Webサーバーについて
 4-2 HTTP:HyperText Transfer Protocol
 4-3 WinInetAPIによるクライアントでの通信処理
 4-4 プログラムについて

5 Windows NTで動作するディスクユーティリティを作成する方法
 5-1 Windows 9xの32ビットアプリケーションで低水準のI/O操作を行うには
 5-2 Windows NTの32ビットアプリケーションで低水準のI/O操作を行うには
 5-3 フロッピーディスクの構造
 5-4 実際にフロッピーディスクを制御するには
 5-5 プログラムについて

6 Windows NTのログオンダイアログボックスをカスタマイズする方法
 6-1 ログオンダイアログボックスを拡張するGINA
 6-2 GINA API
 6-3 GINA DLLを開発するときの注意点
 6-4 Windows 9xで[Ctrl]+[Alt]+[Del]の動作を制御するには
 6-5 プログラムについて

7 IMEを制御する方法
 7-1 IMEとは
 7-2 32ビットIME制御API
 7-3 新しいIMM API
 7-4 プログラムについて

8 ダイヤルアップをプログラムで制御する方法
 8-1 アプリケーション自らがダイヤルアップする必要のある場合
 8-2 ダイヤルアップをプログラムで制御するには
 8-3 プログラムについて

9 モジュールのロードを高速化する方法
 9-1 最も簡単な高速化
 9-2 ローダーの作業を前もって行っておく
 9-3 「セットアップはバインドを実行しています」
 9-4 実行する前にバインドする
 9-5 バインドを行うには
 9-6 イメージヘルプAPI
 9-7 プログラムについて

10 Windows NTでファイルにアクセス権を設定する方法
 10-1 UNIXでのファイルアクセス権
 10-2 Windows NTでのファイルアクセス権
 10-3 Windows NTでファイルのアクセス権を変更するには
 10-4 プログラムについて

11 アプリケーションが一意に判断できる値を得る方法
 11-1ローカルマシンで一意の値
 11-2 LAN上で一意の値
 11-3 世界で一意の値
 11-4 UUIDとGUID
 11-5 GUIDの構造
 11-6 WindowsのプロダクトID
 11-7 プログラムについて

12 Windows NTでアプリを実行するユーザーを制御する方法
 12-1 実際にはどうすればよいか
 12-2 レジストリのアクセス権を利用する
 12-3 レジストリの情報を書き込む場所を工夫する
 12-4 SIDから情報を取得する
 12-5 ユーザー名を取得する
 12-6 ユーザーの属しているグループを取得する
 12-7 ファイルにアクセス権を設定する
 12-8 プログラムについて

13 Windows NTでシステムの状態を取得する方法
 13-1 異常に遅いパフォーマンス情報
 13-2 パフォーマンス情報以外からプロセス情報を取得する方法
 13-3 PSAPI.DLLとは?
 13-4 PSAPI.DLLが提供するAPI
 13-5 プログラムについて

14 Windows NTでユーザーアカウントを操作する方法
 14-1 ユーザーアカウントを制御するには
 14-2 セキュリティアカウントAPI
 14-3 UNICODE版アプリケーションを作成する場合の注意点
 14-4 ユーザーに権限を与えるには
 14-5 プログラムについて

15 共有DLLの使い方
 15-1 新しいDLLは安全か?
 15-2 システムディレクトリにDLLを置くことを拒否される
 15-3 システムディレクトリの共有DLLを必要としないアプリケーション
 15-4 システムディレクトリの共有DLLを必要とするアプリケーション
 15-5 OSや開発環境に含まれる共有DLL
 15-6 共有DLLを置き換える
 15-7 誰が使っているDLLなのか?
 15-8 結論

16 Windows 9xで16/32ビットDLLを相互に利用する方法
 16-1 16/32ビットコードが混在したWindows 95
 16-2 サンクAPI
 16-3 16ビットコードに頼る必要があるWindows 9x
 16-4 フラットサンクの開発環境
 16-5 開発手順
 16-6 プログラムについて

17 DBGファイルを活用する方法
 17-1 トラブル発生!
 17-2 DBGファイルの正体
 17-3 DBGファイルの生成と使い方
 17-4 Windows NTのワトソン博士とWINDBGの関係
 17-5 Visual C++ 5.0では
 17-6 アプリケーションでDBGファイルを生成するには
 17-7 プログラムについて

18 Win32デバッガの作り方
 18-1 OutputDebugStringが出力する文字列を取得するには
 18-2 デバッガを作成するためのAPI
 18-3 デバッガアプリケーション
 18-4 デバッガの動作
 18-5 ロードされたDLLの情報を取得する
 18-6 実行可能ファイルのヘッダーフォーマット
 18-7 ウィンドウハンドルからプロセスIDを取得するには
 18-8 OutputDebugStringへ出力を行うprintf関数
 18-9 プログラムについて

19 スレッドの使い方
 19-1 スレッドとは
 19-2 スレッドの一生
 19-3 スレッド間の協調
 19-4 スレッドのプライオリティ
 19-5 プログラムについて

20 モジュールのバージョン管理を探究する
 20-1 DOS時代のモジュールバージョンを見分ける方法
 20-2 Windows時代のモジュールバージョンを見分ける方法
 20-3 バージョン情報
 20-4 実行ファイルにバージョン情報を追加する
 20-5 実行ファイルのバージョン情報を参照する
 20-6 さらに細かい情報を取得するには?
 20-7 Windowsアプリケーションとコンソールアプリケーションの違い
 20-8 共通処理のDLL化
 20-9 プログラムについて

21 ログファイルの出力をのぞき見する方法
 21-1 ファイルをのぞく
 21-2 ファイルへの出力をすぐに反映させるには
 21-3 64ビット整数
 21-4 アプリケーションにファイル名を渡すには
 21-5 並列に実行するのはスレッドだけでない
 21-6 プログラムについて

22 コンソールアプリケーションで標準印刷出力を使う方法
 22-1 MS-DOSやUNIXの印刷処理
 22-2 Windowsの印刷処理
 22-3 コンソールアプリケーションで標準印刷出力を実現するには
 22-4 実際にはどうするか?
 22-5 スプーラAPI
 22-6 スプーラAPIの印刷処理の流れ
 22-7 Windowsで標準印刷出力を利用するには
 22-8 プログラムについて

23 ログオフなしにAdministrator特権を持つアプリケーションを起動する方法(改訂版)
 23-1 以前のバージョンの問題点
 23-2 HKEY_CURRENT_USERの情報を利用するアプリケーション
 23-3 HKEY_CURRENT_USERの正体
 23-4 ログオンせずにHKEY_CURRENT_USERを利用するには
 23-5 通常のアプリケーションからWin32 API LogonUserを利用するには
 23-6 困ったこと
 23-7 プログラムについて

本書の参考文献
付録CD-ROMについて
索引

●本書付属のCD-ROMについてのご注意
本書付属のCD-ROMの貸与または改変,複写複製(コピー)はできません.詳しくはこちらをご覧ください.