首页
社区
课程
招聘
关于用Windows API操作目录的问题
发表于: 2016-8-30 10:40 4869

关于用Windows API操作目录的问题

2016-8-30 10:40
4869
如题所述,我想用CreateFile来操作drivers目录,当然不是一般的系统路径了。这样编译还是可以通过的,然而运行后系统就毫不留情的给我弹了个小方框,告诉我“拒绝访问!”。。。
  好吧,即使把前面的横杆和小数点也去掉,系统也是同样的反应。
  而奇怪的是把第三行换成第二行,就没有错误了。

  HANDLE m_hVolume = INVALID_HANDLE_VALUE;
//TCHAR _devicename[] = _T("\\\\.\\C:");
TCHAR _devicename[] =  _T("\\\\.\\C:\\WINDOWS\\system32\\drivers");

    m_hVolume = CreateFile(_devicename,
                       GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE ,
                       NULL, OPEN_EXISTING, 0, NULL);

    if (m_hVolume == INVALID_HANDLE_VALUE)
    {
          LPVOID lpMsgBuf;  
          DWORD dw = GetLastError();   
          FormatMessage(  
          FORMAT_MESSAGE_ALLOCATE_BUFFER |   
          FORMAT_MESSAGE_FROM_SYSTEM |  
          FORMAT_MESSAGE_IGNORE_INSERTS,  
          NULL,  
          dw,  
          MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),  
          (LPTSTR) &lpMsgBuf,  
          0, NULL );  

          LocalFree(lpMsgBuf);  
    }

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 12848
活跃值: (9147)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
2
NT6以上的系统操作Windows目录和其中的文件(夹)必须有管理员权限
2016-9-23 20:13
0
雪    币: 256
活跃值: (25)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
3
应该是没有权限的问题,GetLastError一下就知道
2016-11-17 16:31
0
游客
登录 | 注册 方可回帖
返回
//