*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*

<C言語 Win32>

複数プロセス間をWin32 DLLで変数共有する基礎サンプル

     --- エクスポート/インポートの基本は、DEFファイル活用。同期はミューテックス

のプロジェクト No.2

*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*


「<C言語 Win32> 複数プロセス間をWin32 DLLで変数共有する基礎サンプル

     --- エクスポート/インポートの基本は、DEFファイル活用。同期はミューテックス」

において、ここでは、Win32 DLLを試すテスト用プログラム(プロジェクト)について説明します。




 



 

元のページ


 

元ページ「<C言語 Win32> 複数プロセス間をWin32 DLLで変数共有する基礎サンプル

     --- エクスポート/インポートの基本は、DEFファイル活用。同期はミューテックス」




記述量上限の制限で、ページを分けて記述しています。




 





 

本ページの前のページ


 

「複数プロセス間をWin32 DLLで変数共有する基礎サンプル

     --- エクスポート/インポートの基本は、DEFファイル活用。同期はミューテックス」

のプロジェクト No.1



記述量上限の制限で、ページを分けて記述しています。







 

はじめに


元ページの

「<C言語 Win32> 複数プロセス間をWin32 DLLで変数共有する基礎サンプル

     --- エクスポート/インポートの基本は、DEFファイル活用。同期はミューテックス」

におけるプロジェクトをここに記述します。
なお、元ページの物は、DLLを作るプロジェクトと、そのDLLを使うテスト用プログラムのプロジェクトがあります。
本ページのプロジェクトは、後者のテスト用プログラムを作るプロジェクトです。




 

サンプルコード


ここで取り上げるサンプルは、なるべく複雑にならない範囲で、DLLを確かめられるものとします。






本サンプの仕様概要


別のページで既に作成したDLLを、本プログラムで呼び込みます。

すなわち、本プログラムは、作成されたDLLの機能を利用します。

なお、DLLが持つ関数は、カウンター(整数型オブジェクト)をカウントアップ(インクリメント)する関数やカウントダウン(デクリメント)する関数等です。

よって、本プログラムは、そのDLLを呼び出し、カウントアップやカウントダウン等を行なうプログラムになります。


<操作上の仕様>


<1> カウントアップ

「1増加」ボタンをクリックすると、カウンター(整数型オブジェクト)をカウントアップ(インクリメント)します。

そのカウントアップの結果(カウンター値)は、スタティックコントロールに表示されます。


<2> カウントダウン

「1減少」ボタンをクリックすると、カウンター(整数型オブジェクト)をカウントダウン(デクリメント)します。

そのカウントダウンの結果(カウンター値)は、スタティックコントロールに表示されます。


<3> リセット

「リセット」ボタンをクリックすると、カウンター(整数型オブジェクト)の値をリセットします。

すなわち、カウンターの値が0になります。

そのリセットの結果(カウンター値)は、スタティックコントロールに表示されます。


<4> 指定値設定

ひとつ目のエディットコントロールに整数値を入力し、「設定」ボタンをクリックすると、その指定値がカウンター(整数型オブジェクト)に代入されます。

その設定結果(カウンター値)は、スタティックコントロールに表示されます。


<5> 指定値加算

ふたつ目のエディットコントロールに整数値を入力し、「加算」ボタンをクリックすると、その指定値がカウンター(整数型オブジェクト)に加算されます。

その加算結果(カウンター値)は、スタティックコントロールに表示されます。



プロジェクト作成等の前準備


コードを記述する前に、プロジェクトの作成などの、以下の前準備を行なって下さい。


<プロジェクトの作成>

本サンプルの確認用に、新規にプロジェクトを作成して下さい。
プロジェクトの種類は、「Win32 プロジェクト」です。

アプリケーションの種類は、「 Windows アプリケーション 」です。


 EXE用Win32アプリケーションウィザード.jpg



<DLLのインポート >

既に別のページ(本ページの前のページ)で作成したDLLを、本テスト用プログラムに下記操作でインポートします。

なお、インポートとは、本テスト用プログラムにDLLを呼び込み、DLLを利用可能にすることです。

DLLをインポートする作業は、下記の 「 DLLの移動 」 と 「 ライブラリの設定 」 の2つの作業を行ないます。



<インポート作業 No.1

   --- DLLの移動>

既に別のページで作成したDLL ( 拡張子が .dll のファイル  )を、テスト用プログラム(本プログラム)のプロジェクトでのフォルダに移動します。

すなわち、テスト用プログラム(本プログラム)のEXEファイルが置かれるフォルダに、DLL ファイルが置かれる必要があります。



<インポート作業 No.2

   --- ライブラリの設定>

別のページでDLL ( 拡張子が .dll のファイル  )を作成した際、静的ライブラリ ( 拡張子が .lib のファイル  )も共に作成されています。

その静的ライブラリ ( 拡張子が .lib のファイル  )を、テスト用プログラム(本プログラム)のプロジェクトへ、下記の通り設定します。

まず、メニューの[ プロジェクト ] - [ 既存項目の追加 ] で、「 既存項目の追加 」画面を表示します。

次に、その「 既存項目の追加 」画面で、静的ライブラリ( 別のページで作成した拡張子が .lib のファイル  )を指定し、「追加」ボタンをクリックします。

その時、「 対応するカスタム ビルドが見つかりません 」 と言う画面が出てきた場合は、その画面上にある 「 いいえ 」 ボタンをクリックします。






ソースコード



<1>






<2>






(記述量上限の制限で、ページを分けて記述しています)





コードの解説



サンプルコードの中に書かれていますコメントを読んで下さい。

すなわち、コードの解説は、基本的にサンプルコードの中に書かれているコメントとします。





実行結果



「1増加」ボタンや「1減少」ボタン等をクリックすると、カウンターの値が変化します。



 マネージ風Win32DLL2_1.jpg


 実行結果.jpg

 






 

さいごに

 

本ページの内容の詳細については、元ページを参照して下さい。