我正在创建一个 C++ 项目,在其中使用 iTextSharp 访问 PDF 的一些属性,因此我创建了一个托管 C++ Dll 来从 C# 获取值并将其传递给 C++。
现在,如果我将这两个 Dll(iTextSharp 和 Managed C++)保存在 Executable 文件夹中,那么一切正常,但如果我将这两个 Dll 保存在自定义文件夹中,则不会。这是我的代码。
LPCTSTR wrapperFullPath = "D://New Folder//PDFWrapper.dll";
LPCTSTR iTextFullPath = "D://新建文件夹//itextsharp.dll";
HMODULE wrapInst = LoadLibraryExA(wrapperFullPath , NULL, LOAD_WITH_ALTERED_SEARCH_PATH);
HMODULE iTextInst = LoadLibraryExA(iTextFullPath , NULL, LOAD_WITH_ALTERED_SEARCH_PATH);
if((wrapInst != NULL) && ((iTextInst != NULL)) {
... // 在此处获取 PDF 属性 - 第 1 行
}
现在,如果我的 iTextSharp Dll 是可执行文件夹,那么就可以了,否则它会在 Line 1 中崩溃。我也尝试设置环境变量,但这没有帮助。
-潘卡伊