問題タブ [reg-free]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 非 UI スレッドで reg-free COM を使用するにはどうすればよいですか?
非 UI スレッドで reg-free COM DLL (isolated = true) を使用すると、「型の COM オブジェクトをキャストできません」というメッセージが表示されます。これは、DLL が UI スレッドで呼び出された場合には当てはまりません。ただし、私の場合、かなりリソースを集中的に使用する呼び出しがいくつかあります。これを回避する方法はありますか?
c# - 登録 EXE での無料 COM エラー
EXE によって公開された COM 関数を使用しようとしています。Visual Studio 2010 (windows7/x64 マシン上) を使用して C# プロジェクトを作成し、その EXE への参照を追加してから、Isolated フラグを true に設定しました。ソリューションをビルドすると、公開するクラスごとにエラーが発生します。
COM 参照 'FNCClient11Lib' を分離する際の問題: レジストリ キー 'HKEY_CURRENT_USER\SOFTWARE\CLASSES\CLSID{e49b30c9-6d7e-48f5-91da-f2f0414c6a13}\InProcServer32' に値 '(Default)' がありません。
これらのエントリはレジストリのその場所には存在しませんが、ここには存在します (以下)。
HKEY_CURRENT_USER\Software\Classes\Wow6432Node\CLSID{E49B30C9-6D7E-48F5-91DA-F2F0414C6A13}
- ビルド時にこれをレジストリの正しい場所に向ける方法はありますか?
- EXE を参照できますか? これまで見てきたすべての例は、DLL のみを参照しています。
com - Windows でプロセスを開始するときに使用するマニフェストを選択することはできますか?
私が制御できない実行可能ファイルのオブジェクトの代わりとして使用できる COM オブジェクトを提供しようとしています。すべて同じインターフェイスを使用して、この COM オブジェクトの実装を作成しました。この置換をたまにしか使用できないようにしたいので、その登録で元のオブジェクトを置換したくありません。
実行可能ファイルのマニフェストを変更して、レジストリを介してオリジナルを見つけるのではなく、dll を調べて com オブジェクトを見つけることにより、reg-free COM を使用してオリジナルの代わりに COM オブジェクトをロードするように実行可能ファイルを取得できます。
ここまでは順調ですね。ただし、これを行うには、実行可能ファイルのマニフェスト ファイルを変更する必要があります。この変更を永続的なものにしたくありません。通常、実行可能ファイルは「プログラム ファイル」にインストールされるため、このファイルを変更するには管理者権限も必要です。
理想的には、元の実行可能ファイルを変更せずにそのままにしておくことです。次に、必要に応じて、作成した別のランチャー プログラムが、実行可能ファイルの元のマニフェスト ファイルではなく、com オブジェクトにリダイレクトするマニフェストを使用して、要求された実行可能ファイルをロードします。
このようなことは可能ですか?それとも、私がやろうとしていることを行うためのより良い方法ですか?
注: この実行可能ファイルのすべての依存関係がどのようなものになるか事前にわからないため、書き込みアクセス権のある場所で変更されたマニフェストを使用して、実行可能ファイルの複製コピーを作成することはおそらくできません (この実行可能ファイルの dll が必要になる場合があります)。同じディレクトリ、またはサブディレクトリのデータ ファイル)。変更された実行可能ファイルの作業ディレクトリを元の実行可能ファイルのディレクトリに設定することはできますが、実行可能ファイルがそのファイルの場所に基づいて何かを行うと、壊れてしまいます。
.net - vb6 ocxから「miscStatus」を取得するにはどうすればよいですか?
ローカル コンピューターに登録する必要なく、.net から VB6 ocx のmiscStatusを取得するにはどうすればよいですか?
ocx に関する他のすべての情報にTLI (TypeLibInfo)を使用していますが、このプロパティを取得する方法がわかりません。
ocx を登録するときに regsvr32 が MiscStatus を生成する方法を誰かが知っていましたか?
miscStatus
編集:ローカルコンピューターに登録する必要なくocxから取得したいということを忘れています。