2008-10-13 62 views
4

问候!用于检查Win2K/XP中目录的写入权限的代码

我想从使用C++的Windows MFC/ATL程序中检查目录写入权限。我的第一个猜测是使用C标准_access功能,例如:

if (_access("C:\mydir", 2) == -1) 
    // Directory is not writable. 

但很显然,在Windows 2000和XP,_ACCESS不能确定目录的权限。 (即在右键单击资源管理器中的目录时,属性对话框中的安全选项卡)那么,是否有一种优雅的方式来确定Windows 2000/XP中使用任何Windows C++库的目录的写入权限?如果是这样,怎么样?

感谢

埃文

+1

_access不是标准C的一部分(因此是领先的下划线)。 – 2008-10-14 00:10:50

回答

1

使用秒的API。 你可以问高级。 Win32 API的新闻组: 消息://194.177.96.26/comp.os.ms-windows.programmer.win32 它经常被讨论的(C/C++代码)

1

有很多Windows security functions,但我不会把自己的使用特别优雅。我会推荐GetNamedSecurityInfo作为一个通用的解决方案,但是CreateFile解决方案有一定的简单性和直接性,我也可以欣赏它。 :)