首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MoveFileEx问题

MoveFileEx问题
EN

Stack Overflow用户
提问于 2010-06-07 15:16:06
回答 3查看 3.5K关注 0票数 1
代码语言:javascript
复制
int i ;
DWORD dw ;
String^ Source = "c:\\Program\\test.exe" ;
String^ Destination = "c:\\Program Files" ; // move to program Files Folder

//pin_ptr<const wchar_t> WSource = PtrToStringChars(Source);
// pin_ptr<const wchar_t> WDestination = PtrToStringChars(Destination);

i = MoveFileEx(L"c:\\Program Files\\Program\\Test.exe",L"c:\\Program Files",MOVEFILE_REPLACE_EXISTING) ;
dw = GetLastError() ;

return 0; 

当我运行程序时,状态dw的值为5。

错误是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-06-07 15:43:22

错误5被拒绝访问。在以下情况下可能会出现此错误

  • 您无权在目标目录中写入
  • 您无权覆盖目标目录中同名的现有文件。

我想你是在第二种情况下:你想覆盖的文件是锁定的。这是一个可执行文件,它可能正在运行。

票数 0
EN

Stack Overflow用户

发布于 2010-06-07 15:19:32

键入命令提示符net helpmsg 5。这将显示错误的含义。在我的系统中是:“访问被拒绝。”

提示一下:为什么第二个参数不是文件路径?

票数 3
EN

Stack Overflow用户

发布于 2010-06-07 15:22:53

错误代码5被拒绝访问。请检查您是否有足够的权限访问目标目录。

代码语言:javascript
复制
BOOL WINAPI MoveFileEx(
  __in      LPCTSTR lpExistingFileName,
  __in_opt  LPCTSTR lpNewFileName,
  __in      DWORD dwFlags
);

MOVEFILE_REPLACE_EXISTING --如果lpNewFileName或lpExistingFileName命名目录,则不能使用此值。

在您的示例中,目标是"C:\Program files“目录。所以它失败了。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2987661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档