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。
错误是什么?
发布于 2010-06-07 15:43:22
错误5被拒绝访问。在以下情况下可能会出现此错误
我想你是在第二种情况下:你想覆盖的文件是锁定的。这是一个可执行文件,它可能正在运行。
发布于 2010-06-07 15:19:32
键入命令提示符net helpmsg 5。这将显示错误的含义。在我的系统中是:“访问被拒绝。”
提示一下:为什么第二个参数不是文件路径?
发布于 2010-06-07 15:22:53
错误代码5被拒绝访问。请检查您是否有足够的权限访问目标目录。
BOOL WINAPI MoveFileEx(
__in LPCTSTR lpExistingFileName,
__in_opt LPCTSTR lpNewFileName,
__in DWORD dwFlags
);MOVEFILE_REPLACE_EXISTING --如果lpNewFileName或lpExistingFileName命名目录,则不能使用此值。
在您的示例中,目标是"C:\Program files“目录。所以它失败了。
https://stackoverflow.com/questions/2987661
复制相似问题