将.dll库加载为Microsoft服务

时间:2017-01-13 15:30:19

标签: c++ service dllimport

我正在用C ++编写Microsoft服务。此服务应在运行时动态加载位于与可执行文件相同的文件夹中的子文件夹中的.dll库。但是,正如有人告诉我的那样,服务的实际工作目录与可执行目录不同,因此找不到并且未加载库。 作为这个事实的证明,如果我将服务可执行文件作为应用程序启动,我就可以加载库。

应用程序的文件夹结构如下:

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

您如何将其作为服务进行访问?

1 个答案:

答案 0 :(得分:0)

您可以从当前模块路径中提取目录。您可以使用GetModuleFileName检索当前可执行文件的文件路径