2017-01-13 75 views
-1

我正在用C++編寫Microsoft Service。此服務應該在運行時動態加載位於與可執行文件相同的文件夾中的子文件夾中的.dll庫。但是,正如有人告訴我的,該服務的實際工作目錄與可執行目錄不同,因此該庫未找到並且未加載。 作爲這個事實的證明,如果我作爲應用程序啓動服務可執行文件,我能夠加載庫。將.dll庫加載爲Microsoft服務

應用程序的文件夾結構如下:

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

你將如何訪問它作爲一種服務?

+1

您可以從當前模塊路徑中提取目錄。您可以使用GetModuleFileName來檢索當前可執行文件的文件路徑 – Asesh

+0

謝謝Asesh,這可以工作。如果你把它寫成答案,我會很樂意接受它! – phagio

+0

我已經發布它作爲答案:) – Asesh

回答

0

您可以從當前模塊路徑中提取目錄。您可以使用GetModuleFileName來檢索當前可執行文件的文件路徑