Windows 用 カスタムコントロールと汎用APIライブラリ1 1. 概要...

18
i Windows 用 カスタムコントロールと汎用APIライブラリ ライブラリ・ビルドパッケージ

Transcript of Windows 用 カスタムコントロールと汎用APIライブラリ1 1. 概要...

Page 1: Windows 用 カスタムコントロールと汎用APIライブラリ1 1. 概要 本パッケージは、Windows用のカスタムコントロールと、独自の汎用APIを収容したライブラリの全ソースプログラムを含めたビルド用セットです。

i

Windows 用

カスタムコントロールと汎用APIライブラリ

ライブラリ・ビルドパッケージ

Page 2: Windows 用 カスタムコントロールと汎用APIライブラリ1 1. 概要 本パッケージは、Windows用のカスタムコントロールと、独自の汎用APIを収容したライブラリの全ソースプログラムを含めたビルド用セットです。

ii

―― 目次 ――

1. 概要 ........................................................................................................................................................................................................................................................................ 1 2. パッケージの内容 .............................................................................................................................................................................................................................................. 2 3. ライブラリのビルドパッケージの解凍 ......................................................................................................................................................................................................... 2

3.1. ビルドパッケージの解凍方法 ............................................................................................................................................................................................................ 2 3.2. ビルドパッケージの内容 (フォルダ) ............................................................................................................................................................................................. 3 3.3. ビルドパッケージの各フォルダの内容 ........................................................................................................................................................................................... 4 3.4. 各パーツのビルド方法 ......................................................................................................................................................................................................................... 6

4. 環境設定 ............................................................................................................................................................................................................................................................... 8 4.1. C/C++用ライブラリを使用する場合の環境設定 ........................................................................................................................................................................ 8 4.2. C#・VB.NET用ライブラリを使用する場合の環境設定 ............................................................................................................................................................. 8 4.3. C#・VB.NET用ライブラリを使用する場合の環境設定 ............................................................................................................................................................. 9

5. C#・VB.NET 用ライブラリのライセンスキーの解除 .............................................................................................................................................................................. 10 6. バージョン番号の確認 ................................................................................................................................................................................................................................... 10 7. ライブラリ ソースプログラムの内容 .......................................................................................................................................................................................................... 11

7.1. C/C++ライブラリ ( AjrCtl32.dll / AjrCtl64.dll ) 用ソースプログラム ................................................................................................................................ 11 7.2. C#・VB.NET用ライブラリ ................................................................................................................................................................................................................... 13

8. 制限事項 ............................................................................................................................................................................................................................................................. 14 9. 問い合わせ先.................................................................................................................................................................................................................................................... 14 10. 付録 ...................................................................................................................................................................................................................................................................... 15

10.1. AjrCtl32 / AjrCtl64 で使用している Windows API ................................................................................................................................................................. 15

Page 3: Windows 用 カスタムコントロールと汎用APIライブラリ1 1. 概要 本パッケージは、Windows用のカスタムコントロールと、独自の汎用APIを収容したライブラリの全ソースプログラムを含めたビルド用セットです。

1

1. 概要

本パッケージは、Windows用のカスタムコントロールと、独自の汎用APIを収容したライブラリの全ソースプログラムを含めたビルド用セットです。

本パッケージのライブラリをビルドするには、「VisualStudio 2010」以降の VisualStudioが必要です。

本パッケージはベクターから入手できます。(有償)

ライブラリは、ユーザが作成したWindowsアプリケーションプログラムの部品プログラムとして動作します。

下図に本ライブラリの一部の表示イメージを示します。

ライブラリの詳細な説明については、以下のドキュメントを参照してください。

# ファイル名 内容 備考

1 AjrCtl32.pdf C/C++用ライブラリの API説明書 32Bit と64Bit 用のライブラリがあります・

2 AjrCtlInstall.pdf C/C++用ライブラリのインストール手順書

3 AjrMsil.pdf C#/VB.NET 用ライブラリの API説明書 32Bit,64Bit共用のライブラリです。

どちらの環境でも動作可能です。 4 AjrMsilInstall.pdf C#/VB.NET ライブラリ用インストール手順書

本書では、ライブラリ・リソースやビルド方法について説明します。

本書を参考に、改造/改変は自由に行うことができます。(但し、ソースプログラムを再配布することはご遠慮ください)

また、万が一、ライブラリに不具合があった場合、ユーザ自身で修正を行うことも可能です。

Page 4: Windows 用 カスタムコントロールと汎用APIライブラリ1 1. 概要 本パッケージは、Windows用のカスタムコントロールと、独自の汎用APIを収容したライブラリの全ソースプログラムを含めたビルド用セットです。

2

2. パッケージの内容

「AjrCtlPack.zip」を解凍すると、以下のファイルが作成されます。

※本パッケージは、ソースプログラムを含めたビルドデータを提供しますが、規定のインストールデータも添付します。( .msi ファイル)

※パッケージの解凍が うまくいかない場合は、解凍ソフト「Lhaplus」をお試しください。

本パッケージは、「Lhaplus」を使用して書庫化しています。

3. ライブラリのビルドパッケージの解凍

3.1. ビルドパッケージの解凍方法

「AjrCtlXX.zip」を解凍すると、本ライブラリの全ソースプログラムと、ライブラリのビルド用データが生成されます。

「AjrCtlXX.zip」を解凍するには、ライセンスキーが必要です。

ライセンスキーは、ベクターから入手する必要があります。(有償 \12,800)

・評価計測用途向けカスタムコントロール(全ソース. ベクターへ) (180MB)

「AjrCtlXX.zip」を解凍する場合、以下のようにパスワードの入力を求められます。

ここで、ベクターから入手したライセンスキーをパスワードとして入力します。

ライブラリ API の説明書と

インストール手順書

本書

ライブラリのビルドパッケージ

C/C++用インストールデータ(日本語PC用のみ)

C#,VB.NET用インストールデータ(日本語PC用のみ)

Page 5: Windows 用 カスタムコントロールと汎用APIライブラリ1 1. 概要 本パッケージは、Windows用のカスタムコントロールと、独自の汎用APIを収容したライブラリの全ソースプログラムを含めたビルド用セットです。

3

3.2. ビルドパッケージの内容 (フォルダ)

「AjrCtlXX.zip」を解凍すると、以下のようなフォルダが作成されます。

Page 6: Windows 用 カスタムコントロールと汎用APIライブラリ1 1. 概要 本パッケージは、Windows用のカスタムコントロールと、独自の汎用APIを収容したライブラリの全ソースプログラムを含めたビルド用セットです。

4

3.3. ビルドパッケージの各フォルダの内容

フォルダ 内容

_gbl -

BIN32 32ビット環境用実行プログラム群

BIN64 64ビット環境用実行プログラム群

Doc ライブラリ説明書,インストール手順書

Icon ライブラリビルド用アイコンファイル

INC C/C++ライブラリ用のインクルードファイル

MacTxt C言語ライクなインタプリタ機能用サンプルマクロ

Samples サンプルプログラムとデータ

AjrCtl(VC) C/C++用サンプルプログラム

VC32 32ビット環境用C/C++サンプルプログラム群

VC64 64ビット環境用C/C++サンプルプログラム群

AjrMsil .NET Framework 用サンプルプログラム

CSharp C#のサンプルプログラム群

VbNET VB.NETのサンプルプログラム群

TestPpc01 サンプルプログラム(S_Ppc01)用

サンプル・テストデータ TestPpc01_Out

AjrCtlProj C/C++用ライブラリの

ライブラリ・ビルド・ソリューション 「AjrCtlProj.sln」

proj C/C++用ライブラリのビルド・プロジェクト群

src C/C++用ライブラリのビルド・ソースプログラム群

AjrCtlXX ライブラリAPI群

AjrInstall インストール時の実行プログラム

AjrPowMg 電源管理プログラム

AjrSetEnv 環境変数の設定/解除プログラム

AjrSetSample サンプルプログラムのコピープログラム

AjeUninst アンインストール時の実行プログラム

AjrVersion バージョン表示プログラム

AjrCtlSetup C/C++用ライブラリの (※1)

インストールデータ作成ソリューション 「AjrCtlSetup.sln」

AjrCtl32SetupE 32ビット環境インストールデータ作成プロジェクト

(末尾「J」が日本語PCへのインストールデータ) AjrCtl32SetupJ

AjrCtlSetup64E 64ビット環境インストールデータ作成プロジェクト

(末尾「J」が日本語PCへのインストールデータ) AjrCtl64SetupJ

AjrMsilProj C#/VB.NET 用ライブラリの

ライブラリ・ビルド・ソリューション「AjrMsilProj.sln」

AjaraControl 共用DLLプロジェクト

CAjr3DGraphic 3DグラフィックDLLプロジェクト

CAjrBarGraph 棒グラフ/折れ線グラフDLLプロジェクト

CAjrFileSearch ファイル検索DLLプロジェクト

CAjrGeneral 汎用ファンクションDLLプロジェクト

CAjrInit 初期化用DLLプロジェクト

CAjrInpValue 値の入力DLLプロジェクト

CAjrSerialComPort シリアル通信2DLLプロジェクト

CAjrSockServer ソケット(TCP/IP)サーバ DLLプロジェクト

CAjrStrPool 文字列プールDLLプロジェクト

CAjrTextFile テキストファイルアクセスDLLプロジェクト

CAjrTimeChart タイムチャートDLLプロジェクト

CAjrVT100 VT100エミュレーションDLLプロジェクト

Page 7: Windows 用 カスタムコントロールと汎用APIライブラリ1 1. 概要 本パッケージは、Windows用のカスタムコントロールと、独自の汎用APIを収容したライブラリの全ソースプログラムを含めたビルド用セットです。

5

フォルダ 内容

AjrMsilProjC C#/VB.NET用ライブラリ補助プログラムの

ビルドソリューション 「AjrMsilProjC.sln」

AjrMsilAutoReset32 ツールボックス・アイテム自動登録解除プログラム

AjrMsilAutoReset64

AjrMsilAutoSet32 ツールボックス・アイテム自動登録プログラム

AjrMsilAutoSet64

AjrMsilInstall32 インストール時の処理プログラム

AjrMsilInstall64

AjrMsilReboot32 リブート・プログラム

AjrMsilReboot64

AjrMsilSetlic32 ライセンス設定プログラム

AjrMsilSetlic64

AjrMsilUnInstall32 アンインストール時の処理プログラム

AjrMsilUnInstall64

SRC ソースプログラム群

AjrMsilSetup C#/VB.NET 用ライブラリのインストールデータ

作成 用ソリューション「AjrMsilSetup.sln」 (※1)

AjrMsil32SetupE 32ビット環境インストールデータ作成プロジェクト

(末尾「J」が日本語PCへのインストール用) AjrMsil32SetupJ

AjrMsil64SetupE 64ビット環境インストールデータ作成プロジェクト

(末尾「J」が日本語PCへのインストール用) AjrMsil64SetupJ

※1:インストールデータ作成用ソリューションは、「 VisualStudio 2010 」でのみビルド可能です。

(VisualStudio2012 からの InstallShield によるインストーラ作成には対応していません)

VisualStudio 2012 以降では、「InstallShield」用のデータに変換する必要があります。

尚、作成済のインストールデータ(.msi)は、各フォルダ下の「Release」フォルダ内に格納されています。

Page 8: Windows 用 カスタムコントロールと汎用APIライブラリ1 1. 概要 本パッケージは、Windows用のカスタムコントロールと、独自の汎用APIを収容したライブラリの全ソースプログラムを含めたビルド用セットです。

6

3.4. 各パーツのビルド方法

各パーツのビルドには、「VisualStudio2010」以降の VisualStudio(VisualStudio2010~2019・・・)が必要です。

また、「VisualStudio2012」以降の VisualStudio を使用した場合は、以下のようなアップグレードを促すメッセージが表示されますので

「OK」ボタンを押して、アップグレードを実行してください。

各パーツのビルド用ソリューションファイル(.sln)は、以下の通りです。

# ビルドターゲット ソリューション ファイル

1 C/C++用ライブラリ AjrCtlXX\AjrCtlProj\AjrCtlProj.sln

2 C#/VB.NET用ライブラリ AjrCtlXX\AjrMsilProj\AjrMsilProj.sln

3 C#/VB.NET用ライブラリ補助プログラム AjrCtlXX\AjrMsilProjC\AjrMsilProjC.sln

4 C/C++用サンプルプログラム(32Bit) AjrCtlXX\_gbl\Samples\AjrCtl(VC)\VC32\VC32.sln

5 C/C++用サンプルプログラム(64Bit) AjrCtlXX\_gbl\Samples\AjrCtl(VC)\VC64\VC64.sln

6 C#+用サンプルプログラム AjrCtlXX\_gbl\Samples\AjrMsil\CSharp\CSharp.sln

7 VB.NET用サンプルプログラム AjrCtlXX\_gbl\Samples\AjrMsil\VbNET\ VbNET.sln

8 C/C++用ライブラリ インストールデータ作成 AjrCtlXX\AjrCtlSetup\ AjrCtlSetup.sln

9 C#/VB.NET用ライブラリ インストールデータ作成 AjrCtlXX\AjrCtlSetup\ AjrCtlSetup.sln

「.sln」ファイルをダブルクリックすると、VisualStudioが起動しますので、「ビルド」メニューから「ソリューションのリビルド」を実行してください。

※ VisualStudioのインストールデータ作成プロジェクト(上記の「#8」「#9」)は、VisualStudio2010でのみビルド可能です。

(VisualStudio2012からのInstallShieldによるインストーラ作成には対応していません。VisualStudio2012以降で、ライブラリ インストールデータ

を作成する場合は、InstallSheild用にプロジェクトをリメイクする必要があります。)

また、「#9」のビルド中に以下のようなメッセージが出力される場合があります。

これは、VisualStudio2010の不具合のようですが、エラーが出る場合は、以下のURLを参照してみてください。

https://blog.janjan.net/2018/04/20/visualstudio-build-error-update-dependencies/

https://support.microsoft.com/ja-jp/help/2286556/fix-error-message-when-you-build-a-visual-studio-2010-setup-project-un

「エラー: プロジェクトの依存関係を更新することができません。」

Page 9: Windows 用 カスタムコントロールと汎用APIライブラリ1 1. 概要 本パッケージは、Windows用のカスタムコントロールと、独自の汎用APIを収容したライブラリの全ソースプログラムを含めたビルド用セットです。

7

各ビルドにより作成されるファイルは、以下の通りです。

# ビルドターゲット 作成される ファイル

32ビット用 64ビット用

1 C/C++用ライブラリ AjrCtlXX\_gbl\BIN32\AjrCtl32.dll

AjrCtlXX\_gbl\BIN32\AjrCtl32.lib

AjrCtlXX\_gbl\BIN32\ AjrInstall32exe

AjrCtlXX\_gbl\BIN32\ AjrPowMg32.exe

AjrCtlXX\_gbl\BIN32\ AjrSetEnv32.exe

AjrCtlXX\_gbl\BIN32\ AjrSetSample32.exe

AjrCtlXX\_gbl\BIN32\ AjrUninst32.exe

AjrCtlXX\_gbl\BIN32\ AjrVersion32.exe

AjrCtlXX\_gbl\BIN64\AjrCtl64.dll

AjrCtlXX\_gbl\BIN64\AjrCtl64.lib

AjrCtlXX\_gbl\BIN64\ AjrInstal64lexe

AjrCtlXX\_gbl\BIN64\ AjrPowMg64.exe

AjrCtlXX\_gbl\BIN64\ AjrSetEnv64.exe

AjrCtlXX\_gbl\BIN64\ AjrSetSample64.exe

AjrCtlXX\_gbl\BIN64\ AjrUninst64.exe

AjrCtlXX\_gbl\BIN64\ AjrVersion64.exe

2 C#/VB.NET用ライブラリ AjrCtlXX\_gbl\BIN64\ AjaraControl.dll

AjrCtlXX\_gbl\BIN64\ CAjr3DGraphic.dll

AjrCtlXX\_gbl\BIN64\ CAjrBarGraph.dll

AjrCtlXX\_gbl\BIN64\ CAjrCPrePro.dll

AjrCtlXX\_gbl\BIN64\ CAjrCToken.dll

AjrCtlXX\_gbl\BIN64\ CAjrFileSearch.dll

AjrCtlXX\_gbl\BIN64\ CAjrGeneral.dll

AjrCtlXX\_gbl\BIN64\ CAjrInit.dll

AjrCtlXX\_gbl\BIN64\ CAjrInpValue.dll

AjrCtlXX\_gbl\BIN64\ CAjrSerialComPort.dll

AjrCtlXX\_gbl\BIN64\ CAjrSockServer.dll

AjrCtlXX\_gbl\BIN64\ CAjrStrPool.dll

AjrCtlXX\_gbl\BIN64\ CAjrTextFile.dll

AjrCtlXX\_gbl\BIN64\ CAjrTimeChart.dll

AjrCtlXX\_gbl\BIN64\ CAjrVT100.dll

※上記ファイルは「AjrCtlXX\_gbl\BIN32」にもコピーされます

3 C#/VB.NET 用ライブラリ補助プロ

グラム

AjrCtlXX\_gbl\BIN32\ AjrMsilAutoReset32.exe

AjrCtlXX\_gbl\BIN32\ AjrMsilAutoSet32.exe

AjrCtlXX\_gbl\BIN32\ AjrMsilInstall32.exe

AjrCtlXX\_gbl\BIN32\ AjrMsilReboot32.exe

AjrCtlXX\_gbl\BIN32\ AjrMsilSetlic32.exe

AjrCtlXX\_gbl\BIN32\ AjrMsilUnInstall32.exe

AjrCtlXX\_gbl\BIN64\ AjrMsilAutoReset64.exe

AjrCtlXX\_gbl\BIN64\ AjrMsilAutoSet64.exe

AjrCtlXX\_gbl\BIN64\ AjrMsilInstall64.exe

AjrCtlXX\_gbl\BIN64\ AjrMsilReboot64.exe

AjrCtlXX\_gbl\BIN64\ AjrMsilSetlic64.exe

AjrCtlXX\_gbl\BIN64\ AjrMsilUnInstall64.exe

4 C/C++用サンプルプログラム AjrCtlXX\_gbl\BIN32\S_*.exe AjrCtlXX\_gbl\BIN64\S_*.exe

5 C#+用サンプルプログラム 各プロジェクトフォルダ下の「bin\Debug」or「bin\Release」下に .exe や .dll ファイルが作成

される 6 VB.NET用サンプルプログラム

7 C/C++用ライブラリ インストー

ルデータ作成

AjrCtlXX\AjrCtlSetup下の

「Debug」or「Release」フォルダに

AjrCtl32SetupJ.msi or AjrCtl32SetupE.msi

が作成される

AjrCtlXX\AjrCtlSetup下の

「Debug」or「Release」フォルダに

AjrCtl64SetupJ.msi or AjrCtl64SetupE.msi

が作成される

8 C#/VB.NET 用ライブラリ インス

トールデータ作成

AjrCtlXX\AjrMsilSetup下の

「Debug」or「Release」フォルダに

AjrMsil32SetupJ.msi or AjrMsil32SetupE.msi.msi

が作成される

AjrCtlXX\AjrMsilSetup下の

「Debug」or「Release」フォルダに

AjrMsil64SetupJ.msi or AjrMsil64SetupE.msi.msi

が作成される

※ 太字で記述されたファイルが、主な生成ファイルです。

その他のファイルは、補助的なファイルか、インストール操作時にだけ必要なファイルです。

Page 10: Windows 用 カスタムコントロールと汎用APIライブラリ1 1. 概要 本パッケージは、Windows用のカスタムコントロールと、独自の汎用APIを収容したライブラリの全ソースプログラムを含めたビルド用セットです。

8

4. 環境設定

4.1. C/C++用ライブラリを使用する場合の環境設定 C/C++プロジェクトでは、「CL」と「LINK」環境変数を設定することにより、コンパイラとリンカにあらかじめ規定のパスを盛り込むことが

できます。

また、「PATH」環境変数で、AjrCtl32.dll へのパスを設定することにより、プログラムの実行時にシステムが AjrCtl32.dll/AjtCtl64.dll を見つ

けることができるようになります。 C/C++プロジェクトでは、「CL」,「LINK」と「PATH」環境変数の設定は、以下のプログラムにより行います。

開発環境 フォルダ 設定プログラム

32ビット開発環境の設定 AjrCtlXX\_gbl\BIN32

64ビット開発環境の設定 AjrCtlXX\_gbl\BIN64

これらのプログラムを起動すると、以下の画面が表示されます。

ここで、各「設定」ボタンを押すと、当該環境変数が設定されます。PC を再起動する必要はありません。

環境変数の設定を解除するには、各「解除」ボタンを押します。

全て「設定」とした場合、ユーザ・ソースプログラムの先頭で 「 #include <AjrCtlXX> 」 を記述するだけで、ビルド(コンパイル~リンケージ)

ができるようになります。

4.2. C#・VB.NET 用ライブラリを使用する場合の環境設定 インストール操作をせずに、単独でC#/VB.NET用のライブラリを使用する場合は、以下のプログラムを「管理者権限」でを実行してください。

インストール操作と同様の設定がされます。(.NET Framework がライブラリの所在を認識できるようになります)

P C フォルダ 設定プログラム

32ビットPCの場合 AjrCtlXX\_gbl\BIN32

64ビットPCの場合 AjrCtlXX\_gbl\BIN64

また、ライブラリの使用をやめる場合は、以下のプログラムを「管理者権限」で実行してください。

アンインストール操作と同様の設定がされます。

P C フォルダ 設定プログラム

32ビットPCの場合 AjrCtlXX\_gbl\BIN32

64ビットPCの場合 AjrCtlXX\_gbl\BIN64

※ 管理者権限で実行するには、エクスプローラで「AjrMsilInstall32/64.exe」を右クリックし、「管理者として実行」を選択します。

Page 11: Windows 用 カスタムコントロールと汎用APIライブラリ1 1. 概要 本パッケージは、Windows用のカスタムコントロールと、独自の汎用APIを収容したライブラリの全ソースプログラムを含めたビルド用セットです。

9

4.3. C#・VB.NET 用ライブラリを使用する場合の環境設定

C#/VB.NET用のライブラリを使用するには、ツールボックスアイテムの登録が必要です。

VisualStudioの「ツール」メニューから「ツールボックスアイテムの選択」をクリックし、「.NET Framwwork コンポーネント」タブの、

先頭が「CAjr」で始まる項目をすべて選択し、OK ボタンを押します。

フィルターに「CAjr」と設定すると、対象項目だけが表示される

チェックボックスをチェックすると、当該項目が追加登録されます。

チェックを外すと、登録が解除されます。(アンインストール時は、全てチェックを外してからアンインストールしてください)

Page 12: Windows 用 カスタムコントロールと汎用APIライブラリ1 1. 概要 本パッケージは、Windows用のカスタムコントロールと、独自の汎用APIを収容したライブラリの全ソースプログラムを含めたビルド用セットです。

10

5. C#・VB.NET 用ライブラリのライセンスキーの解除

通常は、C#・VB.NET 用のライブラリを使用する場合、ライセンスキーの設定が必要ですが、以下のプログラムを実行すれば、

ライセンスが設定された状態になります。

PC フォルダ 実行プログラム

32ビット PC用 AjrCtlXX\_gbl\BIN32

64ビット PC用 AjrCtlXX\_gbl\BIN64

6. バージョン番号の確認

ライブラリのバージョン番号を確認するには、以下のプログラムを実行します。

PC フォルダ 実行プログラム

32ビット PC用 AjrCtlXX\_gbl\BIN32

64ビット PC用 AjrCtlXX\_gbl\BIN64

以下のように、バージョン番号が表示されます。

※ 実際のバージョン番号は、入手したパッケージの

バージョン番号が表示されます

Page 13: Windows 用 カスタムコントロールと汎用APIライブラリ1 1. 概要 本パッケージは、Windows用のカスタムコントロールと、独自の汎用APIを収容したライブラリの全ソースプログラムを含めたビルド用セットです。

11

7. ライブラリ ソースプログラムの内容

7.1. C/C++ライブラリ ( AjrCtl32.dll / AjrCtl64.dll ) 用ソースプログラム

# ソース ファイル名 内 容

_gbl\INC AjrCtlProj\src\AjrCtlXX

1 AjrCtlXX.h ユーザ インクルード ファイル

2 AjrCtl32.h

AjrCtl64.h

32ビット/64ビット環境用 主ヘッダファイル

3 AjcDef.h 基本タイプ定義

4 AjcVerNo.h バージョン番号定義

5 - AjcInternal.h 内部共通ヘッダ

6 Ajc3dVec.h Ajc3dVec.c 3Dベクトル演算

7 AjcAvlTree.h AjcAvlTree.c 二分木(AVL 木)ノード挿入/削除/検索

8 AjcBitmap.h AjcBitmap.c ビットマップ処理

9 AjcCheckSum.h AjcCheckSum.c 各種チェックサム演算

10 AjcCip.h AjcCip.c

AjcCipAPI.c

AjcCipFmlDBL.c

AjcCipFmlGsr.c

AjcCipFmlINT.c

AjcCipFuncs.c

AjcCipGsr.c

AjcCipStep.c

AjcCipTrace.c

AjcCipVmg.c

C言語ライクなインタプリタ

11 AjcCRC.h AjcCRC.c 各種 CRC 演算

12 AjcCToken.h AjcCToken.c C言語字句分解

13 AjcCtrl3dGraphic.h AjcCtrl3dGraphic.c 3D/2Dグラフィック表示

14 AjcCtrlBarGraph.h AjcCtrlBarGraph.c 棒グラフ/折れ線グラフ表示

15 AjcCtrlInpVal.h AjcCtrlInpVal.c 値の入力

16 AjcCtrlListBox.h AjcCtrlListBox.c 拡張リストボックス

17 AjcCtrlLogFile.h AjcCtrlLogFile.c ログファイル出力

18 AjcCtrlTimeChart.h AjcCtrlTimeChart.c タイムチャート表示(波形表示)

19 AjcCtrlVT100.h AjcCtrlVT100.c VT100エミュレーションウインド

20 AjcDateAndTime.h AjcDateAndTime.c 日付/時間の演算

21 AjcDibSect.h AjcDibSect.c DIBセクション操作

22 AjcDlgItem.h AjcDlgItem.c ダイアログ項目の操作

23 AjcFFT.h AjcFFT.c 高速フーリエ変換

24 AjcFileDir.h AjcFileDir.c ファイル/ディレクトリ操作

25 AjcFileSearch.h AjcFileSearch.c ファイル検索

26 AjcGeneral.h AjcGeneral.c 汎用サブ関数

27 AjcGetFileDir.h AjcGetFileDir.c ファイル/ディレクトリ入力

28 AjcHeapSort.h AjcHeapSort.c ヒープソート

29 AjcHexData.h AjcHexData.c インテルHEX/モトローラS形式ファイルアクセス

30 AjcImgFunc.h AjcImgFunc.cpp イメージファイル( .bmp, .jpg, .png, .gif)の読み出しと表示

31 AjcIniFile.h AjcInifile.c 初期化ファイル( .ini ファイル)のアクセス

32 AjcLzhDecode.h AjcLzhDecode.c LZH圧縮ファイルの解凍

33 AjcMain.h AjcMain.c DLLエントリと、汎用サブ関数,プロファイルアクセス

34 AjcMAlloc.h AjcMAlloc.c メモリ割り当て(malloc() のラッパー)

35 AjcMbxF.h AjcMbxF.c スレッド間のメールデータ通信(固定長データ)

36 AjcMbxV.h AjcMbxV.c スレッド間のメールデータ通信(可変長データ)

37 AjcMonitorInfo.h AjcMonitorInfo.c ディスプレィ情報の取得

38 AjcMsgMap.h AjcMsgMap.c ウインドプロシージャ,ダイアログプロシージャの簡素化

39 AjcPopupMenu.h AjcPopupMenu.c ポップアップメニュー

40 AjcPowMg.h AjcPowMg.c タスクスケジュールと電源管理

つづく

Page 14: Windows 用 カスタムコントロールと汎用APIライブラリ1 1. 概要 本パッケージは、Windows用のカスタムコントロールと、独自の汎用APIを収容したライブラリの全ソースプログラムを含めたビルド用セットです。

12

つづき

# ソース ファイル名 内 容

_gbl\INC AjrCtlProj\src\AjrCtlXX

41 AjcPrePro.h AjcPp.h

AjcPpAvlInc.c

AjcPpAvlIStr.c

AjcPpAvlNStr.c

AjcPpDefined.c

AjcPpFormula.c

AjcPpGsr.c

AjcPpMacro.c

AjcPpMain.c

C言語のプリコンパイル

42 AjcPrinter.h AjcPrinter.c 印刷処理

43 AjcProcessMem.h AjcProcessMem.c 他プロセス内のメモリ操作

44 AjcQueF.h AjcQueF.c 線形リスト制御(固定長データ)

45 AjcQueV.h AjcQueV.c 線形リスト制御(可変長データ)

46 AjcRegFile.h AjcRegfile.c レジストリアクセス

47 AjcRingBuf.h AjcRingBuf.c 可変長リングバッファ制御

48 AjcSbcComboBox.h AjcSbcComboBox.c 拡張コンボボックス

49 AjcSbcRadioBtns.h AjcSbcRdioBtns.c ラジオボタンのグループ操作

50 AjcSepStream.h AjcSepStream.c バイトストリーム分離

51 AjcSerialComPort.h AjcSerialcomPort.c

AjcSerialComPortDlg1.c

AjcSerialComPortDlg2.c

シリアル通信2 ( COMポート通信, メールスロット,ソケット通信 )

52 AjcSockServer.h AjcSockServer.c ソケット(TCP/IP)サーバ

53 AjcSpline.h AjcSpline.c スプライン計算

54 AjcStateCtrl.h AjcStateCtrl.c 状態遷移制御

55 AjcStdIo.h AjcStdIo.c 標準入出力

56 AjcString.h AjcString.c 文字列操作

57 AjcStrPool.h AjcStrPool.c 文字列プール

58 AjcTextFile.h AjcTextFile.c テキストファイルアクセス

59 AjcTimeMeasure.h AjcTimeMeasure.c 時間計測

60 AjcTipTxt.h AjcTipText.c チップテキスト表示

61 AjcVmg.h AjcVmg.c 変数管理

62 AjcWndItem.h AjcWndItem.c ウインド項目(コントロール)の操作

63 AjcWndSupport.h AjcWndSupport.c ウインド操作

64 AjcXYModem.h AjcXYModemL.h

AjcXYModem.c

AjcXYModemTbl.c

YMODEM,YMODEM通信処理

Page 15: Windows 用 カスタムコントロールと汎用APIライブラリ1 1. 概要 本パッケージは、Windows用のカスタムコントロールと、独自の汎用APIを収容したライブラリの全ソースプログラムを含めたビルド用セットです。

13

7.2. C#・VB.NET 用ライブラリ

# ソース ファイル名 実行ファイル 内 容

1 AjaraControl.cs AjaraControl.dll 構造体定義,例外処理

2 CAjrInit.cs CAjrInit.dll 初期化処理

3 CAjr3DGraphic.cs CAjr3DGraphic.dll 3D/2Dグラフィック表示

4 CAjrBarGraph.cs CAjrBarGraph.dll 棒グラフ/折れ線グラフ表示

5 CAjrCPrePro.cs CAjrCPrePro.dll C 言語のプリコンパイル

6 CAjrCToken.cs CAjrCToken.dll C 言語の字句分解

7 CAjrFileSearch.cs CAjrFileSearch.dll ファイル検索

8 CAjrGeneral.cs CAjrGeneral.dll 汎用API群

9 CAjrInpValue.cs CAjrInpValue.dll 値の入力

10 CAjrSerialComPort.cs CAjrSerialComPort.dll シリアル通信2 ( COMポート通信, メールスロット(UDP/IP)通信 )

11 CAjrSockServer.cs CAjrSockServer.dll ソケット(TCP/IP)サーバ

12 CAjrStrPool.cs CAjrStrPool.dll 文字列プール

13 CAjrTextFile.cs CAjrTextFile.dll テキストファイルアクセス

14 CAjrTimeChart.cs CAjrTimeChart.dll タイムチャート表示(波形表示)

15 CAjrVT100.cs CAjrVT100.dll VT100 エミュレーションウインド

※上記プログラムは、そのほとんどが「AjrCtl32.dll / AjrCtl64.dll 」のラッパー処理プログラムです。

つまり、実際のほとんどの処理は、「AjrCtl32.dll / AjrCtl64.dll 」(ネイティブコード)で実行されています。

補助プログラム

# ソース ファイル名 実行ファイル 内 容

32 ビットPC用 64 ビットPC用

1 AjrMsilInstall.c AjrMsilInstall32.exe AjrMsilInstall64.exe インストール操作

2 AjcMsilLicFree.c AjcMsilLicFree32.exe AjcMsilLicFree64.exe ライセンス強制設定

3 AjrMsilReboot.c AjrMsilReboot32.exe AjrMsilReboot64.exe PC再起動

4 AjcMsilSetlic.c AjcMsilSetlic32.exe AjcMsilSetlic64.exe ライセンス設定

5 AjrMsilUnInstall.c AjrMsilUnInstall32.exe AjrMsilUnInstall64.exe アンインストール操作

Page 16: Windows 用 カスタムコントロールと汎用APIライブラリ1 1. 概要 本パッケージは、Windows用のカスタムコントロールと、独自の汎用APIを収容したライブラリの全ソースプログラムを含めたビルド用セットです。

14

8. 制限事項

・本ビルドパッケージに含まれるソースプログラムを再配布することはできません。

・本ビルドパッケージや、ソースプログラムは自由に改造/改変を行うことができます。

ビルドしたオブジェクトは、非営利目的に限り、自由に配布することができます。

・本ライブラリは、自由に利用することができますが、どのような場合においても利用者の責任において利用してください。

運用結果については、一切責任を負いかねます。

・本ライブラリのビルドパッケージの内容(設計内容や処理内容)に関するご質問にはお答え致しかねます。

9. 問い合わせ先

本ソフトウェアに関するお問い合わせは、件名の先頭を「Ajara:」として、以下のメールアドレスにて受け付けます。

xxxajarakojara@kk.email.ne.jpxxx

[注] 先頭と末尾の「xxx」は削除してください。

「@」は、全角となっていますので、半角に訂正してください。

Page 17: Windows 用 カスタムコントロールと汎用APIライブラリ1 1. 概要 本パッケージは、Windows用のカスタムコントロールと、独自の汎用APIを収容したライブラリの全ソースプログラムを含めたビルド用セットです。

15

10. 付録

10.1. AjrCtl32 / AjrCtl64 で使用している Windows API

_atoi64 CloseHandle ExitWindowsEx GetMailslotInfo

_beginthread ClosePrinter ExtFloodFill GetModuleFileNameA

_endthread CoInitialize fabs GetModuleFileNameW

_findclose ConvertSidToStringSidA fclose GetModuleHandleA

_findfirst64i32 ConvertSidToStringSidW fgets GetMonitorInfoA

_findnext64i32 CopyFileA fgetws GetObjectA

_fseeki64 CopyFileW FileTimeToLocalFileTime GetOverlappedResult

_ftelli64 CopyImage FileTimeToSystemTime GetParent

_i64toa cos FillRect GetPixel

_ismbblead cosh FindClose GetPrivateProfileSectionA

_ismbbtrail CoTaskMemFree FindFirstFileA GetPrivateProfileSectionNamesA

_ismbcalpha CoUninitialize FindFirstFileW GetPrivateProfileSectionNamesW

_ismbcdigit CreateCaret FindNextFileA GetPrivateProfileSectionW

_itoa CreateCompatibleBitmap FindNextFileW GetPrivateProfileStringA

_makepath CreateCompatibleDC FindWindowA GetPrivateProfileStringW

_mbsbtype CreateDCA floor GetProcAddress

_mbschr CreateDIBSection fmod GetProfileStringA

_mbscmp CreateDirectoryA fopen GetPropA

_mbsicmp CreateDirectoryExA FormatMessageA GetPropW

_mbslen CreateDirectoryExW fprintf GetScrollInfo

_mbsnicmp CreateDirectoryW fputs GetStockObject

_mbsstr CreateEventA fread GetSysColor

_mbstok CreateFileA free GetSystemMetrics

_snprintf CreateFileW FreeLibrary GetSystemTime

_splitpath CreateFontIndirectA fseek GetTempFileNameA

_stat64 CreateICA func GetTempFileNameW

_strtime CreateMailslotA fwrite GetTempPathA

_ui64toa CreatePen GetClassNameA GetTextExtentPoint32A

_vsnprintf CreatePopupMenu GetClientRect GetTextExtentPoint32W

_vsnwprintf CreateSolidBrush GetClipboardData GetTextFaceA

_wfindfirst64i32 ctime GetCommModemStatus GetTextMetricsA

_wfindnext64i32 DefWindowProcA GetCommState GetTickCount

_wfopen DeleteCriticalSection GetCommTimeouts GetUserDefaultLangID

_wmakepath DeleteDC GetComputerNameA GetUserNameA

_wsplitpath DeleteFileA GetCPInfoExA GetUserNameW

_wstat64 DeleteFileW GetCurrentDirectoryA GetVersionExA

_wtoi DeleteObject GetCurrentProcess GetWindow

_wtoi64 DestroyCaret GetCurrentThreadId GetWindowLongA

abs DestroyMenu GetCursorPos GetWindowPlacement

acos DestroyWindow GetDC GetWindowRect

AdjustWindowRect DispatchMessageA GetDeviceCaps GetWindowTextA

AdjustWindowRectEx DllAdjustTokenPrivileges GetDIBits GetWindowTextLengthA

AppendMenuA DllLookupPrivilegeValue GetDlgItem GetWindowTextLengthW

asin DllOpenProcessToken GetDlgItemInt GetWindowTextW

atan DocumentPropertiesA GetDlgItemTextA GetWindowThreadProcessId

atan2 DragFinish GetDriveTypeA GlobalAlloc

atof DragQueryFileA GetDriveTypeW GlobalFree

atoi Ellipse GetFileAttributesA GlobalLock

AttachThreadInput EmptyClipboard GetFileAttributesW GlobalUnlock

BeginPaint EnableWindow GetFileSize HideCaret

BitBlt EndDialog GetFileSizeEx ImageDirectoryEntryToData

BOOL EndDoc GetFileVersionInfoA InitializeCriticalSection

calloc EndPage GetFileVersionInfoSizeA InsertMenuA

CallWindowProcA EndPaint GetFocus InvalidateRect

ceil EnterCriticalSection GetForegroundWindow isalnum

CheckRadioButton EnumChildWindows GetFullPathNameA isalpha

ClearCommBreak EnumDisplayMonitors GetLastError IsBadWritePtr

ClearCommError EnumFontFamiliesExA GetLocaleInfoA IsClipboardFormatAvailable

ClientToScreen EnumThreadWindows GetLocaleInfoW iscntrl

CloseClipboard EscapeCommFunction GetLocalTime IsDebuggerPresent

つづく

Page 18: Windows 用 カスタムコントロールと汎用APIライブラリ1 1. 概要 本パッケージは、Windows用のカスタムコントロールと、独自の汎用APIを収容したライブラリの全ソースプログラムを含めたビルド用セットです。

16

つづき

IsDialogMessageA PathIsDirectoryW SetCommMask timeGetTime

IsolationAwareCommDlgExtendedErro PathIsRelativeA SetCommState tolower

IsolationAwareCreateDialogParamA PathMatchSpecA SetCommTimeouts toupper

IsolationAwareCreateUpDownControl PathMatchSpecW SetDlgItemInt TrackPopupMenu

IsolationAwareCreateWindowExA PathRelativePathToA SetDlgItemTextA TranslateMessage

IsolationAwareDialogBoxParamA PathRemoveBackslashA SetEvent ValidateRect

IsolationAwareGetOpenFileNameA PathRemoveBackslashW SetFileAttributesA VerQueryValueA

IsolationAwareGetOpenFileNameW PeekMessageA SetFileAttributesW VirtualAllocEx

IsolationAwareGetSaveFileNameA PlaySound SetFilePointer VirtualFreeEx

IsolationAwareGetSaveFileNameW PostMessageA SetFileTime w_cb

IsolationAwareInitCommonControls pow SetFocus WaitCommEvent

IsolationAwareLoadLibraryA printf SetForegroundWindow WaitForMultipleObjects

IsolationAwarePrintDlgA PurgeComm SetLayeredWindowAttributes WaitForSingleObject

IsolationAwareRegisterClassA puts SetPixel wcscat

IsolationAwareUnregisterClassA QueryPerformanceCounter SetPropA wcschr

isprint QueryPerformanceFrequency SetPropW wcscmp

isspace rand SetRect wcscpy

IsTextUnicode ReadFile SetROP2 wcsicmp

iswctype ReadProcessMemory SetScrollInfo wcslen

IsWindow realloc SetSystemPowerState wcsncat

itoa Rectangle SetTextColor wcsncmp

K32EnumProcessModules RegCloseKey SetTimer wcsncpy

K32GetModuleFileNameExA RegCreateKeyExA SetupComm wcsnicmp

K32GetModuleFileNameExW RegCreateKeyExW SetupDiEnumDeviceInfo wcsstr

KillTimer RegDeleteKeyA SetupDiGetClassDevsA wcstok

LeaveCriticalSection RegDeleteKeyW SetupDiGetDeviceRegistryPropertyA WideCharToMultiByte

LineTo RegDeleteValueA SetupDiGetDeviceRegistryPropertyW WriteFile

LoadBitmapA RegDeleteValueW SetupDiOpenDevRegKey WritePrivateProfileStringA

LoadCursorA RegEnumKeyExA SetWindowLongA WritePrivateProfileStringW

LoadIconA RegEnumKeyExW SetWindowPos WriteProcessMemory

LoadImageA RegEnumValueA SetWindowTextA

LocalFree RegEnumValueW SetWindowTextW

log10 RegisterWindowMessageA SHBrowseForFolderA

LookupAccountNameA RegOpenKeyExA ShellExecuteA

LookupAccountNameW RegOpenKeyExW SHGetPathFromIDListA

MakeSureDirectoryPathExists RegQueryValueExA ShowCaret

malloc RegQueryValueExW ShowScrollBar

MapWindowPoints RegSetValueExA ShowWindow

memcmp RegSetValueExW sin

memcpy ReleaseCapture sinh

memicmp ReleaseDC Sleep

memmove remove sprintf

memset RemoveDirectoryA sqrt

MessageBoxA RemoveDirectoryW srand

modf RemovePropA StartDocA

MonitorFromPoint RemovePropW StartPage

MoveToEx ResetDCA strcat

MoveWindow ResetEvent strcpy

MultiByteToWideChar RoundRect StretchBlt

OpenClipboard ScreenToClient strlen

OpenPrinterA SelectObject strncat

OpenProcess SendDlgItemMessageA strncmp

OutputDebugStringA SendMessageA strncpy

OutputDebugStringW SendMessageW strnicmp

PathCanonicalizeA SetBkColor SystemParametersInfoA

PathCanonicalizeW SetBkMode SystemTimeToFileTime

PathCombineA SetCapture tan

PathFileExistsA SetCaretPos tanh

PathFileExistsW SetClipboardData TextOutA

PathIsDirectoryA SetCommBreak time