本ページは公開が終了した情報の複製であり、掲載時点での情報です。本ページに記載されている内容について各所に問い合わせることはご遠慮下さい。
サポート技術情報

[VB2] Windows API を使用する際の注意

文書番号: 402603

最終更新日: 2000/01/05


この資料は以下の製品について記述したものです。


この記事は、以前は次の ID で公開されていました: JP402603

概要

この資料は Visual Basic for Windows 2.0 から Windows Application Programming Interface (以下 Windows API) を使用したプログラムを作成する場合に必要に
なる製品や修得しなければならない技術、および技術情報を入手する方法について
説明しています。

Windows API を使用する場合に必要になる製品

Visual Basic for Windows 2.0 のプログラム中で Windows API を使用する場合
には Microsoft(R) Windows(R) Software Development Kit (以下 Windows SDK)
が必要になります。Windows SDK は主に C 言語等で Windows 用アプリケーション
を開発するために必要になる製品ですが、製品に含まれている情報は Windows
API を使用する上で重要な情報であり Visual Basic for Windows 2.0 でも必要です。

Windows API を使用する場合に修得しなければならない技術

Windows API を使用した Windows 用アプリケーションの開発は高度な技術力と多く
の情報を必要とするために、アプリケーションの設計を行う以前に " どのような 技術力、参考情報 " が必要なのかを知っておかなければなりません。以下は
Windows API を使用したプログラムを Visual Basic for Windows 2.0 で作成
する場合に必要となる技術力について説明しています。

Windows SDK に関連した仕様と基礎技術の必要性

Windows API を Visual Basic for Windows 2.0 のプログラム中で使用する場合は
Windows SDK に記載されている Windows API の仕様やプログラミング テクニック
をあらかじめ修得しておかねばなりません。そのため、少なくても C 言語で Windows API を使用した Windows 用アプリケーションを作成できる技術力が必要になります。 さらに Visual Basic for Windows 2.0 のプログラム中で Windows API を使用する
場合は Windows API の C 言語用の関数プロトタイプ宣言を Visual Basic for
Windows 2.0 の Declare 宣言に変換できる技術力が必要になります。この部分に
ついては Visual Basic for Windows 2.0 の『プログラミング ガイド』の「第 22
章 DLL 内のプロシージャの呼び出し」に記載されています。

Windows の動作メカニズムとプログラミング テクニック

Visual Basic for Windows 2.0 のプログラム中から Windows API を使用すること
は Windows API の動作効率や実行速度の影響を直接的に受けることを意味しま
す。つまりプログラマは Windows API を使用した場合の動作効率や実行速度を
考慮したプログラムを作成する必要があります。例えば Windows API の
GlobalAlloc を使用する場合は、取得するメモリ容量によって変動する仮想
メモリマネージャのパフォーマンスを知っておかなければなりません。これ
らは Windows の動作メカニズムをある程度把握しなければならないことを意味
しています。
Windows API の動作効率、動作速度には多様な複合条件により決まるために簡潔に文 章で表現することは困難です。しかしこれらは非常に重要なプログラミング テクニッ クの要素であり技術力です。Windows API の動作効率、動作速度を見積もるためには Windows API を用いた数多くのプログラミング経験が必要になります。

Windows API を用いたプログラムをデバッグできる技術力

Windows API を使用することは Windows のシステムに関連した関数を直接呼び出す
ことです。誤った使用方法はアプリケーション エラーの発生や情報の不整合、シス
テムの破壊を引き起こします。プログラムの問題点をデバッグするには Windows
SDK に付属しているデバッグ ユーティリティを使用し問題を検証する技術力が必
要です。これはデバッグ ツールを使いこなすことであり、Windows API の仕様を
踏まえ論理的に問題を絞りこむテクニックです。なお、Windows SDK 付属のデバッ
グユーティリティと Windows API の仕様は Windows SDK に記載されています。

C 言語と Visual Basic for Windows 2.0 の言語仕様の違い

C 言語と Visual Basic for Windows 2.0 では言語仕様の多くが異なります。
Windows API を呼び出す上で言語仕様の違いが問題になるケースがあります。例えば ポインタ型変数を持っていない Visual Basic for Windows 2.0 は関数ポインタを
用いたコールバック関数の設定はできません。またメッセージをハンドリングする
ための Windows 関数も作成できません。これらは Visual Basic for Windows 2.0
の言語仕様の制限事項です。 Visual Basic for Windows 2.0 のプログラム中で
Windows API を使用する場合はこれらを把握しておく必要があります。

Visual Basic for Windows 2.0 の内部処理による問題

Visual Basic for Windows 2.0 は多くのオブジェクトを装備しています。各種
のオブジェクトは自動化された処理を隠し単純なコードによるオブジェクト操
作を可能にして、プログラムの簡略化を実現しています。これは Visual Basic
for Windows 2.0 の大きな長所です。しかし Windows API を使用したプログラ
ミングを行う場合はこれらが大きな短所になりうる場合があります。" 自動化
された処理 " ということはオブジェクトのメカニズムをブラックボックス化
しているため、プログラム中から Windows API を用いてオブジェクトに " 操
作できない " または " 予想に反した結果 " になる場合があります。これらは Visual Basic for Windows 2.0 の " プログラムの簡単さ " という大きな メリットと引き換えになったデメリットです。

プログラミング テクニックを修得するには

すべてのプログラミング言語に共通して言えることですが、技術力やプログラ
ミング テクニックはプログラマーが自分自身で身に付けるものであり、第三者
が与えることができるものではありません。しかし、Windows 用アプリケーショ
ンの開発は高度な技術力と多くの情報を必要とします。以下はこれらの技術力を
修得したり技術情報を取得する方法を説明しています。

Windows SDK からプログラミング テクニックを学ぶ

Windows SDK に記載されている仕様やプログラミング手法、サンプル プログラム等
は必ず修得しなければなりません。数千ページに及ぶ情報の修得は簡単ではありま
せんがこれは最も基本的で、最も重要な作業です。

マイクロソフト デベロッパー ネットワークから技術情報を取得する

マイクロソフト デベロッパー ネットワーク (以後 MSDN) は米国マイクロソフト
本社からの英文の技術資料、サンプルプログラム、障害情報が豊富に掲載されて
います。MSDN に記載されている情報には多くのプログラミングテクニックも含
まれています。
マイクロソフト デベロッパー ネットワークについての資料請求はマイクロソフト
デベロッパー ネットワーク事務局 (TEL 048-226-5700、FAX 048-226-1177) へ
お問い合わせください。

プログラミング セミナーに参加する

Visual Basic for Windows 2.0 など、いくつかの弊社言語製品は他社による
セミナーが行われています。これらのセミナーを利用して Visual Basic for
Windows 2.0 を修得する効率を向上させることも可能です。Visual Basic for
Windows 2.0 のセミナーを開催している ATEC (マイクロソフト認定技術教育
センター) 各社様の情報のご入手には、FAX 情報サービス (03-5454-8100、
BOX 番号 3# 1# 020200#) またはインターネットをご利用下さい 。
また、セミナー内容、詳しい日時、場所、料金等のお問い合わせは、直接
主催会社までお問い合わせください。これらのセミナーを利用して Visual
Basic for Windows 2.0 を修得する効率を向上させることも可能です。

オフィシャル ユーザー サポート窓口からのお願い

基本的にはプログラミング テクニックやマクロ作成のアドバイス、コンサルティン
グはサポート窓口で行う内容ではありません。一つの機能を実現させるための手法、 アルゴリズムおよびコーディング テクニックは無数であり、サポート スタッフが
提供する情報が必ずしも最適であるという保証はありません。
このようなお客様固有の問題は弊社のサポート範囲外とさせていただきます。
なお、普遍性の高い情報に関してはサポート情報で提供しています。

Windows API に関連した Visual Basic for Windows 2.0 のサポート

Visual Basic for Windows 2.0 のサポート窓口では、プログラム中から Windows
API を呼び出すための一般的な Declare 宣言の記述方法はサポートします。し
かし、個々の Windows API における宣言方法や Windows API を用いたプログラ
ミング テクニックおよびデバッグといったお客様固有の問題は、誠に申し訳
ございませんが弊社のサポート範囲外とさせていただきます。

Keywords: KBPRB KB402603
Technology: kbAudDeveloper kbVBSearch

inserted by FC2 system