CopyFile 报错:ERROR_ACCESS_DENIED

hanyuxinting 2010-12-16 05:23:22
在部分 Win7 上出现这个问题。我想把文件拷贝到C盘路径下~~

后改用 SHFileOperation 来实现。会提示要创建一个新文件,点击创建后, SHFileOperation 方法 返回错误。


正在考虑使用 IFileOperation 来实现。大家有何建议?
...全文
434 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
hanyuxinting 2010-12-21
  • 打赏
  • 举报
回复
找了一些方法,在 VS2005 下添加了 manifest 文件,但是会报 warning 。

manifest authoring warning 81010002: Unrecognized Element "requestedPrivileges" in namespace "urn:schemas-microsoft-com:asm.v3"

另外,我编译的是 dll 文件, 没看到 dll 文件的图标上有小盾牌~~~~

期待求解。
hanyuxinting 2010-12-21
  • 打赏
  • 举报
回复
manifest 只对 exe 起作用??求解。
hanyuxinting 2010-12-20
  • 打赏
  • 举报
回复
..回家整去。。。
Simao 2010-12-20
  • 打赏
  • 举报
回复
学习了...还未用那么高级的系统.
hanyuxinting 2010-12-20
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 healer_kx 的回复:]

提什么权啊,研究一下MANIFEST文件
http://apps.hi.baidu.com/share/detail/12317614
[/Quote]

现在在用这个方法。。但是 出现这个问题:

manifest authoring warning 81010002: Unrecognized Element "requestedPrivileges" in namespace "urn:schemas-microsoft-com:asm.v3"

好无语。。。 我的VS2005 还不能更新 sp1.。
chzhn 2010-12-20
  • 打赏
  • 举报
回复
有些文件是无法复制的,比如Windows\System32\config下面的一些没扩展名的文件,要复制这些文件除非在其他的操作系统里面搞.
hanyuxinting 2010-12-20
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 endoresu 的回复:]

权限问题是比较棘手的 试试用读取+写入的方式生成文件看看
[/Quote]

写入的话,不还是需要权限吗。。
Endoresu 2010-12-19
  • 打赏
  • 举报
回复
权限问题是比较棘手的 试试用读取+写入的方式生成文件看看
gw_net 2010-12-18
  • 打赏
  • 举报
回复
disable UAC, then use admin run your app
hanyuxinting 2010-12-17
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 healer_kx 的回复:]

引用 13 楼 hanyuxinting 的回复:

引用 9 楼 healer_kx 的回复:

提什么权啊,研究一下MANIFEST文件
http://apps.hi.baidu.com/share/detail/12317614


这个还是要弹出 提升权限 的提示框的。。能不能不提示,我在想这个问题。。

是吗? 不会啊。
[/Quote]

第一句话 不就说明了吗? 难道不是这样?

我昨天查资料也说 UAC 会弹出提示框来的~
healer_kx 2010-12-17
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 hanyuxinting 的回复:]

引用 9 楼 healer_kx 的回复:

提什么权啊,研究一下MANIFEST文件
http://apps.hi.baidu.com/share/detail/12317614


这个还是要弹出 提升权限 的提示框的。。能不能不提示,我在想这个问题。。
[/Quote]
是吗? 不会啊。
hanyuxinting 2010-12-17
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 healer_kx 的回复:]

提什么权啊,研究一下MANIFEST文件
http://apps.hi.baidu.com/share/detail/12317614
[/Quote]

这个还是要弹出 提升权限 的提示框的。。能不能不提示,我在想这个问题。。
hanyuxinting 2010-12-17
  • 打赏
  • 举报
回复
我要把文件拷贝到 system32 下边~
bobob 2010-12-17
  • 打赏
  • 举报
回复
appdata目录可写,也是系统设计的让你写文件的地方,就在c盘
Eleven 2010-12-17
  • 打赏
  • 举报
回复
以管理员权限运行
healer_kx 2010-12-17
  • 打赏
  • 举报
回复
提什么权啊,研究一下MANIFEST文件
http://apps.hi.baidu.com/share/detail/12317614
hanyuxinting 2010-12-17
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 healer_kx 的回复:]

是权限的问题,你的软件应该重新设计一下了,是不是不往C盘copy啊,总是提权也不是个办法啊。
[/Quote]

只能拷贝到 c 盘下~~~

可是为什么提权总是报错呢~~很费解~~~~~~~~

healer_kx 2010-12-17
  • 打赏
  • 举报
回复
是权限的问题,你的软件应该重新设计一下了,是不是不往C盘copy啊,总是提权也不是个办法啊。
hanyuxinting 2010-12-17
  • 打赏
  • 举报
回复
现在改用这个方法来做:

但有问题,AdjustTokenPrivileges 返回 ERROR_NOT_ALL_ASSIGNED~~不知道怎么处理呢?



//提升进程访问权限 void EnableDebugPriv() { HANDLE hToken; LUID sedebugnameValue; TOKEN_PRIVILEGES tkp; if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) return; if (!LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &sedebugnameValue)) { CloseHandle(hToken); return; } tkp.PrivilegeCount = 1; tkp.Privileges[0].Luid = sedebugnameValue; tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; if (!AdjustTokenPrivileges(hToken, FALSE, &tkp, sizeof(tkp), NULL, NULL)) CloseHandle(hToken); }


hanyuxinting 2010-12-16
  • 打赏
  • 举报
回复
在找。。。。
发现总是弹出那个 管理员 权限的窗口~~~~怎么越过这个呢?
加载更多回复(4)

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧