问题
Let's say I have a drive such as C:\, and I want to find out if it's shared and what it's share name (e.g. C$) is.
To find out if it's shared, I can use NetShareCheck.
How do I then map the drive to its share name? I thought that NetShareGetInfo would do it, but it looks like that takes the share name, not the local drive name, as an input.
回答1:
If all else fails, you could always use NetShareEnum and call NetShareGetInfo on each.
回答2:
Use;
SHGetFileInfo with SHGFI_ATTRIBUTES
upon return check the dwAttributes flag for SFGAO_SHARE.
I'm not sure how to find the actual path tho.
回答3:
I believe you're looking for WNetGetConnection.
来源:https://stackoverflow.com/questions/12594/windows-c-how-do-i-determine-the-share-name-associated-with-a-shared-drive