如果您只需要一个提供此信息的命令行工具,那么您只需使用net share
Windows 内置的命令即可。
如果您需要以编程方式执行此操作,则可以使用该NetShareGetInfo
功能。以下示例显示如何使用它\\localhost\share
在 C++ 中查询路径。
#include <windows.h>
#include <lm.h>
#pragma comment (lib, "netapi32.lib")
#include <iostream>
using namespace std;
int main()
{
BYTE * buffer = nullptr;
auto error = NetShareGetInfo(nullptr, // local computer
L"share",
2, // level
&buffer);
if (ERROR_SUCCESS == error)
{
auto info = reinterpret_cast<SHARE_INFO_2 *>(buffer);
wcout << info->shi2_path << endl;
}
if (buffer)
{
NetApiBufferFree(buffer);
}
}
我会将缓冲区包装在一个类中并NetApiBufferFree
从其析构函数中调用,但这取决于你。