問題タブ [loadlibrary]
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.
windows - マニフェストを使用した LoadLibrary での Windows パス検索
LoadLibrary
パスなしで呼び出した場合(たとえばLoadLibrary("whatever.dll")
、Windows は通常、EXE の検索に使用するのと同じ標準検索アルゴリズムに従います。
私の質問は次のとおりです。アプリケーション マニフェストで、システム DLL の特定のバージョン、たとえば comctl32.dll 6.0 が指定されているとします。その場合、LoadLibrary("comctl32.dll")
すぐに正しいサイド バイ サイド フォルダーに移動しますか、それともなんらかの検索を実行しますか?
.net - .NET PInvoke は、ユーザーが指定したディレクトリからネイティブ dll を動的にロードできますか?
.NET アプリケーションがあり、ユーザーが場所を指定したネイティブ ライブラリをロードする必要があります。PInvoke は、グローバル検索パス (またはコンパイル時に指定されたパス?) からのみ読み込まれるように見えます。実行時に LoadLibrary を呼び出す C++/CLI アセンブリを作成するのが最善の方法でしょうか?
C++/CLI は C# PInvoking LoadLibrary よりも簡単ですか?
c# - DllImport と LoadLibrary のどちらが良いですか?
私は通常、c#.NET で Win32 API を使用しています。ただし、1 つのアプリケーションですべてを宣言しないでください。通常はuser32を使用することもあれば、gdi32を使用することもあります...すべてのAPI関数を宣言すると、それらは大量のメモリを使用すると思います。.NET で API を使用する最良の方法は何ですか?
c++ - C++ dll ファイルを Matlab にロードする方法
matlab にロードする必要がある他の多くの c++ ライブラリ (IPP、Opencv +++) を使用する C++ dll ファイルがあります。これどうやってするの?
loadlibrary と mex を試しました。ロード ライブラリが機能しません。
mex は Linux のもの (プラットフォームに依存しないライブラリ) を見つけて、それらを含めようとします。そして、それはうまくいきません。
誰か良いアイデアはありますか?
c++ - DLL のビルド中に特定のファイルを含めると LoadLibrary が失敗する
C++ アプリの DLL の 1 つで、非常に奇妙な動作が発生します。DLL のメイン ファイルに #include を使用して 1 つのファイルを含めるまで、正常に動作し、正常に読み込まれます。次に、次のエラー メッセージが表示されます。
D:/Targets/bin/MatrixWorkset.dll からコンポーネントを読み込んでいます "D:/Targets/bin/MatrixWorkset.dll" を読み込めませんでした: ライブラリ MatrixWorkset を読み込めません: メモリ ロケーションへのアクセスが無効です。
今、私はコードとグーグルを検索して検索しましたが、何が起こっているのかわかりません。これまではすべてが 1 つの DLL に含まれていましたが、それを 2 つの小さな DLL に分割することにしました。問題の原因となっているファイルは、他の 2 番目のライブラリ (問題なくロードされます) の一部です。
どんなアイデアでも大歓迎です。ありがとう、ジャコ
c++ - LoadLibraryを介してプレーンC++プログラムからマネージC++DLLをロードする
マネージC++とプレーンC++を単純に組み合わせて動作させようとしています。Visual Studio 2005を使用していますが、問題が発生し続けています。これが私の設定です。
まず、コードから構築された単純なDLLがあります
コマンドラインでこれを使用してDLLにコンパイルします
次に、私はただからなる簡単なプログラムを持っています
私はこれからアプリケーションを構築します
だから私は同じディレクトリに行き着きますdllcode.dll
。loader.exe
を実行しようとするとloader.exe
、常に戻りコード「1」が返されます。によって生成されたエラーコードを検索すると、次の理由GetLastError()
で読み込みdllcode.dll
に失敗したことがわかりますThe specified module could not be found.
なぜこれができるのか誰かが知っていますか?マニフェストに埋め込む必要があるマニフェストと関係がありdllcode.dll
ますか?dllcode.dllでdependsプログラムを実行しましたが、私が知る限り、問題は発生しませんでした。
.net - マネージコードからのフックLoadLibrary呼び出し
見つからないアセンブリをダウンロードするために、LoadLibraryへの呼び出しをフックしたいと思います。管理されたアセンブリを処理するResolveAssemblyのハンドラーがありますが、管理されていないアセンブリも処理する必要があります。
「MicrosoftWindows用のアプリケーションのプログラミング」で指定された手法でインポートテーブルを書き直してLoadLibrary呼び出しをフックしようとしましたが、WriteProcessMemory()を呼び出すと、アクセス許可拒否エラー(998)が発生します。(はい、私たちは高い特権で実行しています)
CLRがロードされている間にインポートテーブルを書き直すことに成功した人はいますか?誰かが私を正しい方向に向けることができますか?
更新:アクセス許可が拒否される問題を解決しましたが、混合アセンブリ(管理対象+非管理対象)のインポートテーブルを反復処理すると、mscoree.dllのみが見つかります。ネイティブインポートを見つける方法を知っている人はいますか?(私たちはC ++ / CLIで作業しています)。
visual-c++ - LoadLibrary で DLL をロードできない原因は何ですか?
Microsoft Visual C++ で C モジュールとして記述された JD Edwards ビジネス関数があります。LoadLibrary を使用してサード パーティの DLL にアクセスしています。スタンドアロンのテスト プログラムでは、コードは問題なく実行されます。JDE 内から実行すると、LoadLibrary は NULL を返し、GetLastError は 126 を返します。これはThe specified module could not be found
、MSDN によると意味します。DLL へのフル パスを入力しようとしましたが、パス内の \ 文字を 2 倍にすることを覚えていました。変わりはない。
DLL の読み込みを妨げる依存関係がないことを確認しました。DUMPBIN /DEPENDENTS は次を返します。
これらは標準の Windows DLL のように見えるので、途方に暮れています。