フォローする

.NET - ディマンドロードを使用する

更新 : 2018-07-18 07:53:34 UTC

.NET アプリケーションは、レジストリを編集することでディマンドロードすることができます。
ディマンドロードを使用することで、IJCAD の起動時にアプリケーションをロードすることが可能です。

IJCAD 2018 PRO の場合では、
HKEY_CURRENT_USER\Software\IntelliJapan\IJCAD Professional\R18\ja-jp に、
Applications という名前のキーを作成し、そこにアプリケーション用のキーを作成していきます。

アプリケーション用のキーには以下の値やサブキーを追加していきます。
起動時にロードする場合であれば値のみを追加し、LOADCTRLS の値を 2 にします。
コマンド呼び出し時にロードする場合は、LOADCTRLS の値を 12 にし、 サブキーを追加します。
※現在不具合が確認されていて、どの設定でも起動時にロードされてしまいます。


  • DESCRIPTION REG_SZ ロードするモジュールの説明を記します
    LOADCTRLS REG_DWORD アプリケーションがロードされる条件の論理和
    0x01 カスタムオブジェクトを検出したときにロードする
    0x02 IJCAD の起動時にロードする
    0x04 コマンドの呼び出し時にロードする
    0x08 ユーザーまたは他のアプリケーションから要求があったときにロードする
    0x10 ロードしない
    0x20 ロード時にメッセージを表示しない
    MANAGED REG_DWORD .NET の場合は 1 、ARX の場合はこの値は無し
    LOADER REG_SZ DLL ファイルの完全パス
  • サブキー
    Commands アプリケーションに含まれるコマンドの値を追加するサブキー
    名前はコマンドのグローバル名、値はローカル名の文字列
    Groups コマンドグループの値を追加するサブキー
    名前と値がコマンドグループ名文字列

 

添付ファイルを使用した IJCAD 起動時に、 DLL ファイルをロードするレジストリの設定は次の通りです。
(.NET アプリケーションの DLL ファイルは、IJCAD のサポートフォルダ内に有ると仮定しています)
1.png

  1. HKEY_CURRENT_USER\Software\IntelliJapan\IJCAD Professional\R18\ja-jp に、新規で Applications とい名前のキーを作成します
  2. アプリケーション用のキーを作成します。例では DemandLoadSample という名前にしています
  3. アプリケーション用のキーに値を追加します
    • DESCRIPTION → "Demand road sample"
    • LOADCTRLS → 2
    • MANAGED → 1
    • LOADER → ”C:\Users\[ユーザー名]\AppData\Roaming\IntelliJapan\IJCAD Professional\R18\ja-JP\Support\DemandLoadSample.dll”

2.png

ディマンドロードはレジストリを利用するため、本来であれば手動でレジストリを編集するのではなく、
インストーラを作成してファイルのコピーやレジストリへの書き込みを行うようにする必要があります。

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています
他にご質問がございましたら、リクエストを送信してください

コメント