CFileDialog support XP and Vista
CFileDialog support XP and Vista
我的应用程序支持XP及以上版本,在Vista及以上版本下运行时,我尝试使用CFileDialog较新的接口(即GetIFileOpenDialog())(以尊重这些接口的限制)。
因此,我检查了操作系统版本,并在适当的情况下尝试使用这些接口,然后使用XP的旧方法。问题是,在XP下运行时,我会遇到LoadLibrary失败(代码在DLL中),所以似乎有一些早期绑定正在进行。只要我注释掉使用这些接口的代码,LoadLibrary就会成功。
有没有可能使用XP下运行的Vista功能来编写CFileDialog代码,即使没有调用该代码?
感谢
您需要手动用LoadLibrary()
加载相关库(不会第二次加载,但您需要一个好的句柄),然后使用GetProcAddress()
获取函数的地址(GetIFileOpenDialog
)。如果你只是直接使用Vista函数,它不会在XP上加载,因为正如你所说,它会直接绑定函数。
相关文章:
- C++核心准则 C35 对于接口类"A base class destructor should be either public and virtual, or protected and nonv
- 为什么C++逐位AND运算符在不同大小的操作数中表现为这样
- 为什么 Clang 不允许"and"作为函数名称?
- 位阵列上的快速AND运算
- 是否可以在 C++03 中定义'move-and-swap idiom'等效项
- BoostPython and CMake
- OpenSSL BIO and SSL_read
- Gurobi GRBModel and GRBmodel in C++
- std::visit and std::variant usage
- SHBrowseForFolder with BIF_BROWSEFORCOMPUTER and SHGetPathFr
- Directx12 and keystrokes
- different between int **arr =new int [ n]; and int a[i][j]?
- C++ getenv and setenv
- Inference pytorch C++ with alexnet and cv::imread image
- Visual Studio 2019 C++ and std::filesystem
- 保证逻辑 AND 表达式中的函数调用
- python ctypes and C++ pointers
- C++ const char with .begin() and .end()
- Vista and FindFirstFileEx(..., FIND_FIRST_EX_LARGE_FETCH)
- CFileDialog support XP and Vista