c++ - 如何获取windows的系统路径?
问题描述
我正在尝试获取 Windows 的所有系统路径。阅读本文时,它说使用 KNOWNFOLDERID。所以我按照这里的例子。当尝试使用该示例时,出现编译错误。
测试.cpp:
#include <tchar.h>
#include <sysinfoapi.h>
#include <Shlobj.h>
#include <combaseapi.h>
#include <WTypesbase.h>
#include <winnt.h>
int main() {
IKnownFolderManager *pManager;
HRESULT hr = CoCreateInstance(
CLSID_KnownFolderManager,
NULL, CLSCTX_INPROC_SERVER,
IID_PPV_ARGS(&pManager)
);
}
这就是我到目前为止所拥有的。我得到的错误是
错误:从类型 'IKnownFolderManager*' 到类型 'IUnknown*' 的 static_cast 无效 static_cast<IUnknown *> (*pp);
我正在从 Windows 10 中的命令行编译为:g++ test.cpp
解决方案
IKnownFolderManager
需要<Shobjidl.h>
. 没有那个包含,编译器不知道如何转换IKnownFolderManager
为IUnknown
.
推荐阅读
- regex - 为什么这个正则表达式在 Vim 中不能在 SublimeText 中工作?
- python-3.x - Py3.6 :: ThreadPoolExecutor future.add_done_callback 与 concurrent.futures.as_completed
- c - C编程TCP服务器和客户端连接错误
- github - 如何在 repo 上组织文件夹?
- android - 获取特定意图标志的整数值
- c# - C# Unity > 静态实例成员不会导致调用构造函数
- stackage - 堆栈求解器添加的错误且无法理解的依赖项
- c - C:将strtok令牌分配给char * Segfault
- java - Java 中的 WebDriver/ChromeDriver 所需的依赖项
- c - 使用 nftw() 遍历文件夹时检查级别更改