LoadLibrary() 文件路径
LoadLibrary() file path
我正在尝试使用函数LoadLibrary(...),该函数将字符串接收到文件名(.dll或.exe)或文件路径。我遇到的问题是文件名本身有多个句点/点。
例:
HINSTANCE hInst = LoadLibrary(_T("..\folder\file.name.dots.exe"));
句柄始终为空,在这种情况下我不能简单地更改文件名。Microsoft https://support.microsoft.com/en-ca/kb/324468 提到了多个句点,但我认为它不适用于文件名。有什么想法吗?
如引用文章中所建议的,始终计算完全限定的路径并将其传递给LoadLibrary
/LoadLibraryEx()
。这不仅可以解决点缺陷,还可以防止安全漏洞。劫持应用程序的当前目录可能会导致应用运行任意代码。
请参阅 LoadLibraryEx 上的 MSDN,以更好地了解使用 LoadLibrary 的复杂性。
在我看来
,这位绅士的问题源于一个基本名称中的多个点,例如:
c:\users\joe\elephant.doc.old
当然,还有伴随的"损坏文件名"约定,将其映射到以下内容:
c:\users\joe\elepha~2.old
如果你使用被破坏的文件名——从DOS窗口中可以看到——你应该没有麻烦,我的年轻朋友。
相关文章:
- 如何将更多文件夹添加到c++include路径
- 从函数角度看ID到文件路径的内部与外部映射
- 在C++中设置基于操作系统的文件路径
- C++17 文件系统::remove_all 带有通配符路径
- 从 C 中的变量获取文件的路径,C++
- 将共享库的搜索路径更改为生成文件中提供的 rpath
- 修改生成文件以简化框架 #include 路径
- 将Visual Studio Code路径设置为.clang_format文件
- Windows 非 ASCII 文件路径
- 非 ASCII 文件路径窗口
- C++和带有国家符号的文件路径(也许用 UTF8 编码)
- 获取 H5::D ataSet 的hid_t和文件中的路径以使用 H5OCopy
- 在特定 Unicode 路径中创建文件
- 如何让用户在 tinyxml2 中输入 XML 文件的路径
- 如何将COM .tlb文件导入具有相对路径C++文件中?
- C++ 路径文件存在限制为 260 个字符
- QT-在pro中指定DLL路径.文件
- 路径文件存在导致链接器错误 2028/2019
- 选择QTableWidgetItem qt的路径文件
- 如何有一个正确的路径文件读取它到stringstream