2017-01-13 7 views
-1

私はMicrosoftサービスをC++で作成しています。このサービスは、実行可能ファイルと同じフォルダ内のサブフォルダにある.dllライブラリを実行時に動的にロードする必要があります。しかし、誰かが私に言ったように、サービスの実際の作業ディレクトリは実行可能ディレクトリと同じではないため、ライブラリは見つからずロードされません。 この事実を証明するものとして、アプリケーションとして実行可能なサービスを起動すると、ライブラリをロードできます。Microsoftサービスとしての.dllライブラリのロード

次のようにアプリケーションのフォルダ構造は次のとおりです。あなたがサービスとしてそれにアクセスする方法を

FOLDER\Service.exe 
FOLDER\SUBFOLDER\library.dll 

+1

現在のモジュールパスからディレクトリを抽出できます。 GetModuleFileNameを使用して、現在の実行可能ファイルのファイルパスを取得することができます。 – Asesh

+0

ありがとう、Asesh、これは動作します。あなたが答えとしてそれを書くなら、私はそれを喜んで受け入れます! – phagio

+0

私は答えとして投稿しました:) – Asesh

答えて

0

現在のモジュールパスからディレクトリを抽出できます。 GetModuleFileNameを使用すると、現在の実行可能ファイルのファイルパスを取得できます。

関連する問題