我用administrator身份写了个小程序,正常运行,可切换到Users组的用户就失败INVALID_HANDLE_VALUE,超简单,如下: HANDLE hFile;
hFile =CreateFile("d:\\111.txt", 
GENERIC_READ|GENERIC_WRITE, 
FILE_SHARE_READ, 
NULL, 
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, 
NULL);
if (hFile == INVALID_HANDLE_VALUE) 
{
AfxMessageBox("INVALID_HANDLE_VALUE");
}
else
{
AfxMessageBox("打开了");
}
CloseHandle(hFile);

解决方案 »

  1.   

    应该是权限,可是Users组成员可以手工拷贝、创建文件啊,为什么用程序来CreateFile就不行呢?
      

  2.   

    1.既然是server很可能是NTFS分区的用户权限写入设置,具体看看你写入的那个分区或文件夹“属性”的“安全”那项
    2.本地安全策略中的帐户权限设置,禁止了user组的写入操作
      

  3.   

    d:\111.txt这个文件在Users组里面的用户可以任意读、改、删,就是用程序CreateFile不行
      

  4.   

    提示什么了,还是没反应,你可以用GetLastError()看看到底是什么问题的
      

  5.   

    谢谢DrSmart(斯玛特) ,我用GetLastError找到问题了,拒绝访问