次の方法で共有


API 呼び出しのサンプル

更新 : 2007 年 11 月

このサンプルでは、Win32 API 関数を呼び出して、プロセスとウィンドウを列挙および制御し、システム設定を照会および変更する例を示します。

サンプルとそのインストール手順を取得するには

  • 次のいずれかを実行します。

    • [ヘルプ] メニューの [サンプル] をクリックします。

      サンプルの情報を示す Readme が表示されます。

    • Visual Studio 2008 のサンプルの Web サイトにアクセスします。ここには、サンプルの最新版が掲載されています。

    • Visual Studio をインストールしたコンピュータで、サンプルを検索します。既定では、サンプルおよび Readme ファイルは drive:\Program Files\Microsoft Visual Studio 9.0\Samples\lcid にインストールされています。Visual Studio の Express Edition については、すべてのサンプルがオンラインで提供されています。

詳細については、「サンプル ファイルの格納場所」を参照してください。

ms173043.alert_security(ja-jp,VS.90).gifセキュリティに関するメモ :

このサンプル コードは概念を示すためのものであり、その概念に関連するコードのみを示しています。特定の環境について必ずしもセキュリティ要件を満たしていませんので、そのまま使用しないでください。セキュリティおよびエラー処理コードを追加して、プロジェクトをより安全かつ堅牢にすることをお勧めします。これらのサンプル コードは、現状有姿のままで提供されるものであり、一切保証されていません。

このサンプルを実行するには

  • F5 キーを押します。

使用例

Win32API クラスは、Win32API.vb という別個のファイルに定義されています。Declare ステートメントを使用した各 API 宣言は、Win32API クラスの Shared メンバとして利用できます。共有メンバは、クラス名を使用して直接呼び出すことができます。使用のためにクラスのインスタンスを作成する必要はありません。

メイン フォームには、4 つのタブ ページを持つタブ コントロールがあります。各タブ ページでは、Win32 API 呼び出しを使用した以下の処理の例を示します。

  • アクティブなプロセス   Windows で実行中の全プロセスの一覧をリスト ビューに読み込みます。デリゲートを利用して Win32 コールバック関数 EnumWindows を使用する方法を示すのが主眼です。

  • アクティブなウィンドウ   Win32 API を使用して、コールバック関数 EnumWindows の結果をフィルタ処理することにより、ListBox コントロールにすべてのアクティブなウィンドウの一覧を読み込みます。この例では、EnumWindows の定義には Declare ステートメントではなく DllImportAttribute クラスを使用しています。これにより、2 つのメソッドの使用方法の違いを示します。

  • ウィンドウの表示   ユーザーがウィンドウのキャプションまたはクラス名を入力すると、そのウィンドウを前面に持ってくることができます。この例は、1 つの Win32 API 関数に対して複数の種類のパラメータをオーバーロードし、型の異なる変数を関数に渡せるようにすることが主眼です。

  • API 呼び出し   GetDiskFreeSpaceGetDiskFreeSpaceExGetDriveTypeCreateDirectorySwapMouseButtonIsPwrHibernateAllowedSetSuspendState、および Beep の各 Win32 API 呼び出しの使用方法を示します。これらは、マネージ クラスの同等の呼び出しからは取得できない情報を返す呼び出しの例です。

参照

参照

DllImportAttribute

Declare ステートメント