私のアプリケーションにサードパーティのDLL(つまりソースコードがありません)をロードしようとしています。 WindowsXP 32ビットシステムでは正常に読み込まれますが、Windows 7システムではGetLastError()からエラー#998を引用して読み込みに失敗します。LoadLibrary Win7でエラー32ビット、Win XPで成功32ビット
dllエクスポートビューアを使用して、 dllを参照し、インポートテーブルにリストされている3つのdll以外のすべてがこのサードパーティのベンダーから提供されていることを確認しました。どのように
SetDllDirectory(L"c:\\dlls");
HMODULE tempDLL = LoadLibrary(L"mydll.dll");
DWORD err = GetLastError();
任意のヒント:ここで
kernel32.dllの
mingwm10.dll
MSVCRT.DLL
私はインポートを行うために使用していますコードです:ありませんでしたものこれをデバッグしようとしていますか?
編集:私の答えのためのみんなに感謝し、そしてこれは私がこれまでに発見したものです:
a)はアプリケーションツールキットのパッケージには、その)
B(下記参照)に有用同僚Aであることを証明していなかったことができますできない、散発
C何か、それはので、彼の勝利7マシンと同僚BにロードするDLLを取得)管理者は何も
奇妙なことに、Win7でkernel32.dllとmsvcrt.dllを問題なく読み込めます。 LoadLibraryがあなたのケースでNULLを返すことは確かですか? – mbykov
あなたはdllロードパスのどこかにmingwm10.dllを持っていますか? – gregg
私の頭の上からちょうど推測。 "管理者として"アプリケーションを実行しようとしていますか?そうでない場合は、結果を教えてください。 – TCS